원칙: 에너지 효율성

완료됨

이 동영상의 콘텐츠는 여전히 유효하지만 Green Software Foundation의 원칙 번호 재설정으로 인해 원칙 번호가 다를 수 있습니다.

전기와 탄소

대부분의 사람들은 전기가 깨끗하다고 생각합니다. 벽에 플러그를 꽂을 때 손이 더러워지지 않고 노트북에 배기관이 필요하지 않죠. 그러나 사실, 대부분의 전기는 화석 연료(일반적으로 석탄)를 태워서 생산됩니다. 에너지 공급은 탄소 배출의 가장 중요한 단일 원인입니다.

전기에서 탄소 배출물까지 직접적인 선을 그릴 수 있으므로 전기를 탄소의 비교 기준 중 하나로 고려할 수 있습니다.

스마트폰에서 실행되는 애플리케이션부터 데이터 센터에서 실행되는 기계 학습 모델의 학습에 이르기까지 모든 소프트웨어는 실행될 때 전기를 소비합니다. 전기 소비와 소프트웨어의 이후 탄소 오염 배출물을 줄이는 가장 좋은 방법 중 하나는 애플리케이션의 에너지 효율을 높이는 것입니다.

이러한 지식은 지속 가능한 소프트웨어 엔지니어링의 핵심 원칙이 에너지 효율이 높은 애플리케이션을 빌드하는 이유입니다.

지속 가능한 엔지니어라면 전기를 이해해야 합니다. 엔지니어링 과정은 컴퓨터에서 시작되는 것이 아닙니다. 컴퓨터를 구동하는 전기가 생산되는 방식으로 시작됩니다.

에너지와 전력

에너지는 사용되는 전기량을 측정합니다. 에너지의 표준 단위는 줄 또는 J입니다. 그러나 킬로와트시 또는 kWh는 에너지 소비량을 나타내는 또 다른 일반적인 방법입니다.

전기는 종종 다음과 같은 두 가지 개념으로 전력 또는 에너지로 보고됩니다.

에너지 = 전력 ✕ 시간

  • 에너지는 사용되는 전체 전기량입니다. 에너지의 표준 단위는 줄 또는 J입니다.

  • 전력은 단위 시간당 전력 소비 비율입니다. 전력의 표준 단위는 와트 또는 W입니다. 단일 와트는 초당 1줄입니다.

에너지 소비량을 나타내는 일반적인 방법은 ‘시간 단위의 전력(예: 와트초 또는 킬로와트시)’으로 표현하는 것입니다. 예시:

  • 20와트초(20 Ws)은(는) 20 W이(가) 1초 동안 실행될 때 얻는 에너지의 양입니다. 1와트는 초당 1줄이므로, 이 값은 20줄에 해당합니다.

  • 20킬로와트시(20 kWh)은(는) 2만와트가 1시간 동안 실행될 때 얻는 에너지입니다.

    Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)

에너지 비례

사용률은 사용 중인 컴퓨터 리소스의 양을 측정하며, 일반적으로 백분율로 표시됩니다. 유휴 컴퓨터는 사용률이 낮고 사용 중이지 않은 컴퓨터입니다. 최대 용량으로 실행되는 컴퓨터는 높은 비율을 가지며 완전히 사용되고 있습니다.

에너지 비례는 컴퓨터 시스템에서 소비되는 전력과 유용한 작업이 수행되는 비율(사용률) 간의 관계를 측정한 것입니다. 전반적인 전력 소비가 컴퓨터 사용률에 비례하면 에너지 비례 상태입니다.

에너지 비례 시스템에서 에너지 효율은 일정합니다. 활용도에 관계없이 에너지 효율은 동일하게 유지됩니다. 그러나 하드웨어의 에너지 효율성은 일정하지 않습니다. 상황에 따라 달라집니다. 다양한 하드웨어 디바이스 구성 요소의 복잡한 상호 작용으로 인해 비선형일 수 있습니다. 즉, 전력과 사용률 간의 관계가 비례하지 않습니다.

Diagram showing power versus utilization.

사용률 0%에서 컴퓨터는 여전히 100 W를 소모하고, 사용률 50%에서 180 W를 소모하고, 사용률 100%에서 200 W를 소모합니다. 전력 소비와 사용률 간의 관계는 선형이 아니고 원점을 지나지 않습니다.

이 관계로 인해 컴퓨터를 더 많이 활용할수록 전기를 유용한 컴퓨팅 작업으로 전환하는 데 컴퓨터 효율이 더 높아집니다. 최대한 적은 서버에서 가장 높은 사용률로 작업을 실행하면 서버의 효율이 최대화됩니다.

정적 전력 소모

에너지 비례가 없는 이유는 여러 가지가 있습니다. 그중 하나는 정적 전력 소모입니다.

유휴 컴퓨터는 사용률 0%에서도 여전히 전기를 소모합니다. 이러한 정적 전력 소모는 구성 및 하드웨어 구성 요소에 따라 다르지만, 모든 구성 요소에는 어느 정도의 정적 전력 소모가 있습니다. 이러한 잠재적인 전력 소모는 PC, 노트북 및 모바일 디바이스에서 절전 모드를 사용할 수 있는 이유 중 하나입니다. 디바이스가 유휴 상태이면 궁극적으로 최대 절전 모드를 트리거하고 디스크 및 화면을 절전 모드로 전환하거나 CPU 빈도를 변경합니다. 이러한 절전 모드는 전기를 절약하지만 디바이스의 절전 모드가 해제되면 더 느리게 다시 시작되는 등 다르게 절충되기도 합니다.

서버는 일반적으로 적극적인 절전이나 최소 절전으로 구성되지 않습니다. 많은 서버 사용 사례에서는 빠르게 변화하는 수요에 대응하여 최대한 신속하게 전체 용량을 요구합니다. 이 시나리오에서는 수요가 낮은 기간에 많은 서버를 유휴 모드로 유지할 수 있습니다. 유휴 서버에는 포함 탄소 및 비효율적인 사용률로 인한 비용이 있습니다.

클록 속도

클록 속도(빈도)는 컴퓨터 또는 해당 마이크로프로세서의 작동 속도로, 초당 주기(메가헤르츠)로 표현됩니다. 소비자 디바이스는 더 많은 에너지 비례를 달성하기 위해 컴퓨팅 디바이스의 클록 속도를 동적으로 조정하는 경우가 많습니다.

클록 속도는 컴퓨터에서 명령을 실행할 수 있는 속도를 나타냅니다.

클록 속도에 따라 마이크로프로세서의 에너지 효율이 변경됩니다. 높은 클록 속도는 낮은 클록 속도보다 에너지 효율이 낮은 경우가 많습니다. 예를 들어 I7-3770K 시스템에서는 50 W의 경우 3.5 GHz에서 실행하거나 175 W의 경우 5 GHz 정보에서 실행할 수 있습니다. 클록 속도가 40% 정도 증가하려면 >3배 전력 증가가 필요합니다.

사용률이 낮은 시간에 클록 속도를 줄이면 에너지 효율성이 높아져 하드웨어의 에너지 효율성이 최대화될 수 있습니다.