본문 바로가기

탁월한 전략

The Three Ages Of Google - Batch, Warehouse, Instant

원제 : The Three Ages Of Google - Batch, Warehouse, Instant

번역 : 구글의 세 시대 – Batch, Warehouse, Instant


The world has changed. And some things that should not have been forgotten, were lost.(세상은 변했습니다. 잊지 말아야 할 것들이, 사라져버렸습니다). 구글의 독보적인 기술자이며, 구글의 전설적인 과거, 황금시대와 불분명한 미래에 대해  Luiz André Barroso의 환상적인 발표를 들을 때 내 머리에서 울리는 이 말들을 반지의 제왕에서 발견했습니다. 그의 이야기는 Warehouse-Scale Computing: Entering the Teenage Decade(웨어하우스-확장 컴퓨팅: 십대의 십년으로 들어서기), Federated Computing Research Conference에서 발표했습니다. Luiz는 명확하게 그의 일을 알고 있고 초기부터 구글에 있어서, 그는 기술에 대한 깊고 예리한 시각을 가지고 있습니다. 배우고, 생각하고 만들어야 것이 너무 많습니다.

반지의 제왕은 두 단계로 적용합니다. 변경 수준에서, 중간계(Middle Earth)는 세 시대(three ages)를 지나갑니다. Luiz의 이야기를 들으면, 구글과 똑같아 보입니다: 배치(매달 계산하는 인덱스, indexes calculated every month), 웨어하우스(데이터센터가 컴퓨터, the datacenter is the computer), 즉시성(모든 것을 실시간 처리, (make it all real-time). "잊혀진" 수준에서, 이야기의 즉시성 시대 부분에서, 일반적인 테마는 상품 시스템의 상단에서 낮은 지연 시스템을 만드는 도전입니다. 실시간 영역에서 매우 일반적인 이슈이며, 잊지 말아야 할 것임을 떠올렸습니다.

완전히 새로운 것은, 어쨌든, Warehouse+Instant의 조합이고, 기회와 미래를 발견할 곳입니다 – 제 4시대

The First Age - The Age of Batch

때는 2003년이었습니다. 웹은 여전히 젊었고 HTML 또한 페이지 지향적입니다. Ajax가 고안되었지만, 구글맵 같은 초기 킬러 응용프로그램과 킬러 마케팅 전략, Ajax 같은 익숙한 브랜드를 기다리고 있었습니다.

구글은 배치 지향적입니다. 구글은 매달 웹을 방문하고(매달!), 검색 인덱스를 만들고, 질의에 답합니다. 구글은 거대한 읽기 전용이었는데, 확장이 매우 손쉬웠습니다. 이 점은 아마도 대부분의 사람들이 마음속으로 구글이 어떻게 일하는지에 대한 모델입니다.

구글은 여전히 하드웨어에 대해 세련되지 못했습니다. colo 공간에 랙을 만들고, Walmart 에서 팬을, Home Depot에서 케이블트레이를 샀습니다.

구글의 모든 하드웨어와 소프트웨어 아키텍처를 일곱 페이지에 설명할 수 있다고 생각할 수 있는 기발한 것 입니다: 지구를 위한 웹 검색: 구글 클러스터 아키텍처(Web Search for a Planet: The Google Cluster Architecture) Luiz Barroso, Jeffrey Dean, and Urs Hoelzle. 이들은 빨리 변했습니다.

The Second Age - The Age of the Warehouse

2005년이 되었습니다. 많은 것이 인터넷에서 빠르게 움직입니다. 인터넷이 발생했고, 퍼졌으며, 더 빠른 속도, 상호작용으로 되어갑니다. 구글은 데이터센터를 건설하고 모든 단계에서 더 사려 깊게 되었습니다. BigTabe(BigTable) 같은 상징적인 시스템은 상용화되었습니다.

이 때쯤 구글은 이전과는 질적으로 다른 것을 만들고, 현재 우리가 생각하는 것보다는 조금 적거나 많은, 클라우드 컴퓨팅 같은 것을 만들어야 함을 깨닫게 됩니다. Amazon의 EC2는 2006년에 발표됩니다. 다른 논문에서, 진짜 책인데, 구글이 시도한 것을 요약합니다: 컴퓨터로써 데이터센터: Warehouse 크기의 장비 설계의 소개(The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines) Luiz André Barroso , Urs Hölzle. 일곱 페이지에서 책 크기로 도약을 주목하시고 비전을 구현한 4년 이후인, 2009년 출판을 주목하세요. 구글이 지금까지 실제로 한 것을 배우려면 아마도 백과사전을 가져야 하고 구글이 다음 단계를 하고 있을 몇 년 후에 나올 것입니다.

이 시대의 근본적인 통찰은 데이터센터가 컴퓨터라는 것입니다. 1980년대 말의 Sun 사의 John Gage 가 "네트워크가 컴퓨터이다"고 이야기한 것을 떠올릴 지 모릅니다. 차이는 심사숙고할 관심사입니다. 네트워크가 컴퓨터일 때는 우리는 단일한 응용프로그램으로 외부세계에 드러나는 클라이언트-서버 아키텍처를 만들었지만, 현실에서 네트워크로 연결한 개별적인 노드를 만들었습니다. Wharehouse-scale Computing (WSC)는 스택을 이동했는데, 컴퓨터를 자원으로 생각하고, 가능한 많이, 대체 가능한 것으로 고려하고, 상호교체가능하고 위치에 상관없는 것입니다. 개별적인 컴퓨터는 정체성을 잃었고 서비스의 부분이 되었습니다. Sun은 나중에 자신들의 그리드 네트워크를 가졌지만, WSC 비전을 충실했다고 생각하지 않습니다.

Warehouse 규모 장비는 다릅니다. 이들은 분리된 컴퓨터로 구성하지 않습니다. 응용프로그램은 단일한 장비로 동작하게 설계하지 않고, 데이터센터의 모든 장비로서 인터넷 서비스를 동작하게 설계합니다. 어쨌든 전체 시스템의 합산된 성능이 중요합니다.

WSC 클럽은 커다란 하나가 아닙니다. 스토리지에 수페타 데이터만이 남아있어 여러분이 한밤중에 호출을 받는다면 warehouse scale computer를 가져야 할 거라고 Luiz은 말합니다. 클라우드 컴퓨팅을 통해

The Third Age - The Age of Instant

이제 현재입니다. 여전히 개발중이어서 아직까지 즉시성 시대에 대한 백과사전은 없습니다. 그러나 구글이 매우 개방적이기 때문에, 단서를 얻을 수 있습니다: : Google's Colossus Makes Search Real-Time By Dumping MapReduceLarge-Scale Incremental Processing Using Distributed Transactions And NotificationsTree Distribution Of Requests And ResponsesGoogle Megastore - 3 Billion Writes and 20 Billion Read Transactions Daily; 내가 찾아내지 못한 것이 더 많거나 단지 참조한 것입니다..

구글의 Instant Search Results는 Luiz 가 이야기한 미래에 펼쳐질 것의 대략적인 예입니다. 이는 검색창에 글자를 입력하면 곧바로 결과를 질의하여 돌려주는 기능입니다. 질의마다 5 또는 6 질의를 실행한다는 의미입니다. 이를 수행할 인프라스터럭처를 상상해보세요.

검색의 다른 면은 컨텐츠 인덱싱입니다. 한달 짜리 긴 인덱싱 수행은 오래전입니다. 인터넷은 현재 동시적이며 즉각적으로 색인해야하는 새로운 컨텐트로 구글을 잡아 먹는 거대한 이벤트 괴물입니다

Luiz는 다음 몇 년 안에 상호작용, 통찰, 백그라운 정보 시스템의 수준이 여러분을 도와줄 것이고, 인스턴스 검색에 있는 것이 왜소하게 보일 것이라 생각합니다. 여러분이 왜 구글이 Google+에서 실명 사용을 고집하는지 알고 싶다면, 이게 이유입니다.

Luiz은 4 도구로 이 변화를 설명합니다:
  • Applications - instantaneous , personalized, contextual
  • Scale - increased attention to latency tail
  • Efficiency - driving utilization up, and energy/water usage down
  • Hardware Trends - non-volatile storage, multi-cores, fast networks

Warehouse computing의 문맥에서 즉시성은 엄청난 공학적인 도전입니다. 컴퓨터로써 데이터센터를 다루기가 어렵고 즉시 색인과 즉시 결과를 제공하는 일은 어렵고, warehouse scale computer에서 즉시성 제공은 완전히 새로운 수준의 도전입니다. 이 도전은 그의 이야기의 두번째 절반을 차지합니다.

문제는 이 도전에 직면하지 않았다는 것입니다. 우리의 인프라스트럭쳐는 깨졌습니다. 데이터센터는 마이크로세컨드의 배율을 가지는데, 우리는 여전히 WAN을 위해 설계한 전체 스택을 사용 중입니다. 실시간은 낮고 제한된 지연을 요구하고 우리의 스택은 규모에서 낮은 지연을 제공할 수 없습니다. 우리는 이 문제를 고쳐야 하고 Luiz가 연구 의제를 설정하고 해결해야 할 문제를 목표로 설정한 문제를 향해 나아가야 합니다:

  • Rethink IO software stack. An OS that makes scheduling decisions 10s of msecs is incompatible with IO devices that response in microseconds.
  • Revisit operating systems scheduling.
  • Rethink threading models.
  • Re-read 1990's fast messaging papers.
  • Make IO design a higher priority. Not just NICs and RDMA,  consider CPU design and memory systems.
  • IO 소프트웨어 스택을 다시 생각하기. 10 msecs로 스케줄 결정을 하는 OS는 microsecond 안에 응답하는 IO 장치와 호환되지 않습니다.
  • 운영체계 스케쥴링 다시 논의하기
  • 쓰레딩 모델을 다시 생각하기
  • 1990년대의 빠른 메시징 논문을 다시 읽기
  • IO 설계를 높은 우선순위로 하기.  NIC과 RDMA 뿐 아니라 CPU 설계와 메모리 시스템을 고려하기
"이제 즐거움이 시작되었다(The fun starts now)"고 Luiz가 말했는데, 매우 이르지만, 예측을 해 봅니다:
  • Decade of resource efficiency
  • Decade of IO
  • Decade of low latency (and low tail latency)
  • Decade of Warehouse-scale disaggregation, making resources available outside of just one machine, not just a single rack, but all machines.
  • 자원 효율의 10년
  • IO의 10년
  • 낮은 지연(낮은 꼬리 지연)의 10년
  • 단지 랙 하나가 아닌, 전체 장비로서, 단 하나의 장비의 외부에서 자원을 가능하게 하는 Warehouse-scale 분할의 10년

훌륭한 대화이며, 정보가 많고, 매우 고무적입니다. 지켜볼 가치가 있습니다. 다음 기사에서 구체적인 기술 지점을 다루겠지만, Luiz의 설정을 구글 뿐 아니라, 나머지 업계 전체를 위해 무대로 다룰 것입니다.

Related Articles