Profile
AcroEOS

2018.11.16

잇따른 제한 조정, CPU에 무슨 일이 생겼나

Views 438 Votes 0

썸네일.png

 

안녕하세요. AcroEOS입니다.
얼마 전 CPU 부하 문제로 CPU 제한을 20% → 30%로 상향 조정했습니다.

헌데, 다시 그 제안을 25%로 재조정했다는 소식이 있었는데요.

왜 다시 5% 하향 조정하였는지 그 이유에 대해서 말씀드리고자 합니다.

이는 EOS의 블록 생성과 관련이 있습니다.

 

블록 생산 시간

EOS의 블록 1개 생성 시간은 0.5초(500ms)입니다.

블록 생성 작업 중에서 CPU에 할당된 최대 공간(Max Block Cpu Usage)은 고정 값으로 연산에 소요되는 시간은 0.2초(200ms)입니다. 나머지 0.3초(300ms)는 블록전파(propagation) 등의 작업이 이루어집니다.

 

왜 다시 25%로 하향 조정했을까?

고정 값이던 CPU 할당 공간을 30%로 상향 조정한 이후부터 블록 생성이 지연(Latency)되어 ‘마이크로 포크(Micro Folk)가 발생하였고, 이로 인해 블록 생성을 놓치게 되는 블록 미싱 증상이 나타났습니다. CPU 제한을 30%로 늘려 연산 시간을 확보함으로써 CPU 부하로 인한 문제가 해결되는 듯 보였지만, 블록 전파(Propagation) 등에 소요되는 리소스가 상대적으로 줄어들게 되어 이와 같은 증상이 발생한 것입니다.

 

※ 마이크로 포크
대개 블록 전파 지연(Latency)시간으로 인해 발생하는 증상입니다. 이로 인해, 각 노드가 서로 다른 블록을 쌓기 시작하고 체인이 나뉘어 블록을 생산하게 되는 경우에 포크가 발생한다고 이야기합니다. 보통 이 경우, 긴 체인 법칙에 따라 다수의 승인(+2/3)검증을 먼저 받는 블록/체인이 비가역성을 갖게되고 정당성을 입증받아 체인을 이어나가게 됩니다. 반면 더 이상 이어 나아가지 못하는 체인은 고아블록(Orphan Block)이 되어 소멸합니다.

 

 


image.png
*마이크로 포크로 인한 블록미싱 발생
 

 

정리하면, 아래와 같습니다.

  1. CPU 부하 증상 발생
  2. CPU 제한 30% 상향 조정 → CPU 연산 시간 상향
  3. 블록 검증, 전송 투입 리소스의 상대적 감소
  4. 마이크로 포크 증상
  5. 블록 미싱 발생

CPU부하 증상을 해결하기 위해 고정된 CPU 제한을 30%만큼 상향 조정하여 트랜젝션에 대한 연산 시간은 확보했지만, 블록을 검증하고 전송하는 작업 등에 투입되는 시간이 상대적으로 줄어들게 되었고, 이것이 마이크로 포크를 유발하여 결과적으로 블록 미싱이 발생한 것으로 볼 수 있습니다.

 

이에 CPU 제한을 다시 25%로 재조정한 이유는 블록 연산 시간에 할당된 비중을 줄여 부족해진 검증/전송 시간을 확보한 상태라 볼 수 있습니다. 이렇듯, CPU부족에 의해 발생하는 증상을 제한을 풀어 조치하는 방법은 일시적인 미봉책에 불과합니다. (※어느 정도 해소는 가능하지만, 앞서 이야기한 바와 같이 마이크로 포크에 의한 블록 미싱이 발생할 수 있음)

 

따라서 EOS.IO의 전체적인 개선이 필요한 시점이며, 댄 라리머는 현재 진행중인 멀티스레드 시그니쳐와 REX가 CPU 환경 개선에 도움을 줄 것이라 이야기한 바 있습니다. 앞으로 있을 하드포크 역시, 그 해결 방안 중 하나일 것이라 예상합니다.

 

Contact

EOS producer name : acroeos12345
Email : community@acroeos.io
Steemit : https://steemit.com/@acroeos
Medium : https://medium.com/acroeos
Twitter : https://twitter.com/acroeos
Telegram : https://t.me/AcroEOS
Wechat : AcroEOS信息站!
proxyname : votetochange

Profile
5
Lv

0개의 Comment

Profile
No. Subject Author Date Views
147 [Update] Ledger - EOS 계정 연동에서 레퍼랜덤 참여까지! 8 profile AcroEOS 2 일 전 69
146 매스 어댑션(Mass Adoption) 이야기 - 확장성 이후에 오는 것들 5 profile AcroEOS 16 일 전 152
145 EOS Mainnet Monitoring Weekly Report (2019.01.21~2018.01.27) 1 profile AcroEOS 18 일 전 64
144 EOS Mainnet Monitoring Weekly Report (2019.01.07~2018.01.13) 2 profile AcroEOS 2019.01.17 36
143 디벙크 암호화폐 결제 샌드박스 구축 관련 결제 과정 영상 (Feat. PAYTOMAT) 1 profile AcroEOS 2019.01.15 64
142 2018년 7개월간의 BP로서의 여정 그리고 2019년의 EOS 6 profile AcroEOS 2019.01.10 130
141 탈중앙화의 망령, 이제는 실체를 보여야 할 때 5 profile AcroEOS 2019.01.07 154
140 EOS Mainnet Monitoring Weekly Report (2018.12.31~2019.01.06) 3 profile AcroEOS 2019.01.07 42
139 EOS Mainnet Monitoring Weekly Report (2018.12.24~2018.12.30) 1 profile AcroEOS 2019.01.02 61
138 AcroEOS 주간 리포트 - Week 34 (2018.12.24~2018.12.30) 1 profile AcroEOS 2018.12.31 51
137 AcroEOS X DEBUNK (Feat. PAYTOMAT) EOS 결제 시범 운영 이벤트 안내 (무료 계정 쿠폰 증정 & 에어드롭) 10 profile AcroEOS 2018.12.26 186
136 EOS Mainnet Monitoring Weekly Report (2018.12.17~2018.12.23) 2 profile AcroEOS 2018.12.24 63
135 2018, AcroEOS 커뮤니티 활동 보고 6 profile AcroEOS 2018.12.24 51
134 AcroEOS 주간 리포트 — Week 33 (2018.12.17~2018.12.23) 2 profile AcroEOS 2018.12.24 42
133 렛져로 친타이를 이용해보자! feat. 스캐터 데스크탑 6 profile AcroEOS 2018.12.17 163
132 AcroEOS 주간 리포트 - Week 32 (2018.12.10~2018.12.16) 1 profile AcroEOS 2018.12.17 32
131 EOS Mainnet Monitoring Weekly Report (2018.12.03~2018.12.09) 2 profile AcroEOS 2018.12.11 68
130 AcroEOS 주간 리포트 - Week 31 (2018.12.03~2018.12.09) 5 profile AcroEOS 2018.12.10 108
129 2018을 마무리하며, ONGOING EOS 16 profile AcroEOS 2018.12.06 580
128 EOS Mainnet Monitoring Weekly Report ( 2018.11.26~2018.12.02) 1 profile AcroEOS 2018.12.04 64
127 [Recruitment] AcroEOS 신규 채용 공고 - Technical Manager 2 profile AcroEOS 2018.12.04 118
126 AcroEOS 주간 리포트 - Week 30 (2018.11.26~2018.12.02) profile AcroEOS 2018.12.03 41
125 EOS Mainnet Monitoring Weekly Report ( 2018.11.19~2018.11.25) profile AcroEOS 2018.11.27 58
124 AcroEOS 주간 리포트 - Week 29 (2018.11.19~2018.11.25) 1 profile AcroEOS 2018.11.26 53
123 [AcroEOS] Ledger — EOS DApp 지원설정 안내 2 profile AcroEOS 2018.11.24 177
122 devEOS X AcroEOS 블록체인 실전 개발 원데이 클래스 모집 4 profile AcroEOS 2018.11.21 105
121 EOS Mainnet Monitoring Weekly Report ( 2018.11.12~2018.11.18) 1 profile AcroEOS 2018.11.19 152
120 AcroEOS 주간 리포트 - Week 28 (2018.11.12~2018.11.18) profile AcroEOS 2018.11.19 34
잇따른 제한 조정, CPU에 무슨 일이 생겼나 profile AcroEOS 2018.11.16 438
118 EOS Mainnet Monitoring Weekly Report (2018.11.05~2018.11.11) profile AcroEOS 2018.11.12 78