Gentle Breeze

[성능] MIPS 본문

⑨ 직무역량강화/기타

[성능] MIPS

재령 2010. 2. 12. 01:36
** 출처 : 네이버 백과사전 / KB 차세대 계정계 아키텍처 헬프데스크

***************************************
MIPS [million instructions per second]  
***************************************  
<요약>
1초당 100만개 단위의 명령어 연산을 하는 프로세서의 처리 속도로,
컴퓨터의 성능을 나타내는 지표가 된다.

<본문>
컴퓨터의 성능을 나타내는 지표가 된다.
어떤 처리장치(processor)의 처리속도가 18.5MIPS라면 1초 동안에
1,850만 개의 명령을 실행할 수 있다는 의미이다.
컴퓨터의 성능을 평가하는 정량적인 평가 단위의 하나로, 단위시간에
처리할 수 있는 명령어수로 나타내는 단위에는 MIPS와 FLOPS가 있다.
MIPS는 명령어의 종류에 관계없이 1초당 실행되는 명령어 수만
계산하기 때문에 명령어별 특성을 고려하지 않아 그 신뢰성에 의문이
있을 수 있다.
이에 반해 FLOPS는 부동 소수점 명령어가 1초에 몇번 실행될 수
있는가를 나타내는 단위이다.
슈퍼컴퓨터에서는 MIPS
보다 FLOPS를 연산속도의 단위로 사용한다.

++++++++++++++++++++++++

MIPS는 초당 수행할 수 있는 백만단위 명령어 수라고 정의할 수 있으므로 CPU의 처리 용량을 나타내는 단위로 사용되기도 하고,  초당 거래량을 소화하는데 필요한 CPU Size를 이야기할 때에도 사용됩니다. 즉 KB가 현재 차세대 시스템을 위하여 보유하고 있는 CPU를 총 Mips로 표현할 수도 있고 (예: 150,000Mips), 초당 1,000건의 트란잭선을 처리하는데 트란잭션당 평균  Path Length가 10 Mips인 업무프로그램을 운영한다면 총 10,000Mips의 CPU가 필요하게 되는 것이지요 (CPU Utilization을 100%로 유지한다고 가정할 경우에). 여기에서 보듯이 1거래 또는 1프로그램을 수행하는데 몇 개의 명령어 (Instruction)가 수행되는가? 하는 의미로 Path Length를 나타날 때도 Mips를 사용함으로써 총 CPU 용량을 나타내는 경우와 혼동이 될 수 있을 것 같습니다 (지금까지 무심코 사용해서 이런 생각을 못했음).  어쨌든  Capacity Planning을 할 때에 Mips라는 용어는 때로는 CPU의 크기, 때로는 Path Length를 나타내면서 이용될 것 같습니다.

업무팀이 업무프로그램을 최적화하여 똑 같은 처리를 하는데 Path Length를 짧게 할 수록 CPU를 절약할 수 있어서 투자비용을 줄일 수 있으므로 Path Length는 비용과 직결되는 것입니다. Copy문을 최적화하여 Initialization 하는데 소요되는 Path (Instruction)을 줄이는 노력이 절실히 요구되고 DB를 Access하는데 Index를 잘 활용하여 경제적인 방법으로 하자는 이유가 여기에 있는 것입니다

아무리 세상이 바뀌에 CPU가 싸지고 늘어나도 자원이라는 것은 늘 한정적이고, 그만큼 어플리케이션의 기능도 다양해져서 CPU를 많이 소요하게끔 Path Length가 늘어나서 21세기에도 성능 튜닝은 계속되고 있나 봅니다


Instruction의 수는 명령어 (Assebly Code에서 Store, Load 등의 명령어)인 것으로 알고 있습니다. 이명령어들을 뜯어 보면 명령어 간에도 차이가 있을 수 있을 것이므로 엄밀한 의미에서는 Mips라고 표현할 때 차이가 있을 수 있을 것입니다 (용어 풀이에 있는 내용입니다)


그런데 성능을 이야기할 때 CPU 용량과 결부시켜서 Mips를 이야기 하지만, 다른 잣대로서 Response Time이 중요합니다. Response Time은 End User Reponse Time이 중요할텐데, Host처리시간 + 네트워크 소요시간 + MCI 소요시간 + 단말 처리시간의 합이라고 이야기할 수 있겠습니다. 여기에서 Host처리시간에 업무프로그램의 Path Lenhth를 소화하는데 소요되는 시간이 포함될 것입니다 (초당 10,000Mips 처리능력을 가진 CPU에서 10 Mips Path Length를 가진 거래를 처리할 경우 10/10,000초)만 그 시간은 아주 짧다고 할 수 있고, 그 시간에 DB I/O를 위하여 대기한 시간, CICS에서 대기한 시간등이 합해져서 총 Host (M/F) 처리시간이 됩니다 (12./19 2차 전부점 테스트 피크시 평균 0.13초) (반면에 단말화면 호출 시간은 평균 0.6초).

Comments