algorithm

모두의 알고리즘 : MISSION 4-1(무어의법칙/집적도/빅데이터)

sundefined 2021. 12. 11.

모두의 알고리즘 with 자바스크립트에 담긴 내용을 기초로 하여 적는 글.

<모두의 알고리즘  with 자바스크립트 : MISSION 4-1>


알고리즘의 대표선수, 단연 검색 알고리즘이라고 할 수 있다. 아래 이미지는 자체적으로 검색 알고리즘을 개발하는 google과 bing 엔진에 '논문'이라는 단어를 검색해본 결과이다.

 

구글 엔진에 '논문'이라는 단어를 검색한 화면빙 엔진에 '논문'이라는 단어를 검색한 화면

두 검색 엔진은 똑같은 키워드를 검색해도 자사가 직접 제작한 알고리즘을 실행하고 있기 때문에 다른 검색 결과를 보여준다. 이렇듯 검색 알고리즘은 엔진을 운영하는 기업이 매일 자체적으로 개선하며 운영한다. 구글이 대단한 이유도 보다 뛰어난 검색 엔진(응답시간 등)을 구축했다는 것에 있다. 이러한 검색 엔진은 인터넷 흐름에 아주 중요한 역할을 한다. 블로그나 인터넷 쇼핑몰, 뉴스 사이트 등 사용자의 인터넷 방문이 해당 웹사이트에 큰 영향을 미치는 웹사이트들에게 검색엔진 최적화 작업(SED, Search Engine Optimization)을 하도록 만들기 때문이다. 하지만 기업은 이용자들이 원하는 최적의 검색 결과를 제공하기 위해 매번 알고리즘 개선을 진행한다. 책에서는 이를 알고리즘과의 끝없는 숨바꼭질이라고 표현하고 있다.

 하지만 효율적인 데이터 프로세싱을 위해서는 하드웨어의 성능 향상 또한 큰 역할을 차지한다. 인텔의 공동 창업자 고든 무어가 1965년 일렉트로닉스지에 기고한 기고문에 이를 뒷받침하는 이론이 실리는데, 바로 무어의 법칙이다. 무어의 법칙은 2년 마다 집적회로의 집적도가 2베로 증가한다는 이론이다(원래는 매년 2배로 증가한다고 했다가 1975년에 '매년'이 아닌 '2년'이라고 정정했다). 무어의 법칙은 비교적 최근까지 잘 맞아들며 세계 반도체 산업의 좌표 역할을 했다. 하지만 2016년 인텔에서 반도체 개발에 적용하던 공정 사이클을 2년에서 3년으로 늘린다고 밝힌 이후로 사실상 무어의 법칙은 폐기되었다. 메모리 반도체 세계 1위 기업인 삼성전자 역시 2006년 무어의 법칙에서 벗어났다. 반도체의 집적도에 집중하는 대신 소자 적용 기술을 변경한 것이다. 이는 생산성을 30%씩 높이는 엄청난 결과를 낳았다. 주모~~~

 출처 : 한동희, '[무어의 법칙 폐기]① 반도체 패러다임 대전환…IT융합 칩수요 다변화 시대'「조선일보」,2016.04.12

 출처 : 채민기, '51년간 반도체 산업 이끌어온 기술 공식 깨졌다'「조선일보」,2016.04.22

 

 이처럼 하드웨어의 비약적인 향상에도 불구하고, 오늘 날의 IT 시스템에는 대응하기 어려울 정도의 데이터가 사용되고 있다. 테라바이트나 페라바이트로 표현되는 방대한 데이터를 빅데이터라고 하는데, 빅데이터를 효율적으로 처리하기 위해서 컴퓨터는 스케일 업 / 스케일 아웃을 이용해 처리 성능을 높인다. 스케일 업은 한 대의 컴퓨터 성능을 최대로 늘리는 것을 말한다. 비유하자면 어벤저스 엔드게임에서 힘으로만 최고 스텟을 찍은 헐크(스케일 업)가 타노스(빅데이터)와 싸우는 격이다. 헐크가 제 아무리 감마선 노출로 슈퍼 히어로가 되었어도 날 때부터 외계인이었던 타노스에게는 그 힘이 한참 모자란 것이다.

영화 어벤져스 엔드게임의 한 장면, 캡틴 아메리카와 다른 히어로들이 적을 바라보고 있다.

그렇다면 얼른 '어벤져스 어셈블'해서 다 같이 싸워야 승산이 있지 않겠는가? 그게 바로 스케일 아웃이다. 스케일 아웃에는 클리스터링이라는 기술이 사용된다. 고속 네트워크로 다수의 컴퓨터를 연결해 하나의 컴퓨터처럼 사용하는 것이다. 스케일 아웃은 컴퓨터 한 대가 제대로 작동하지 않더라도 빅데이터와의 전투에는 문제가 없다는 장점을 가지고 있다. 이렇게 클리스터링 된 컴퓨터를 이용해 빅데이터를 처리하는 시스템에는 '맵리듀스'가 있다. 왜 단어의 뜻만 계속 꾸역꾸역 설명하고 있냐 묻는다면 맵리듀스가 구글이 만들었기 때문이라고 답하겠다! 맵리듀스는 데이터를 쪼개 각각의 컴퓨터에서 처리 후 다시 모으는 방식이다. 이때 컴퓨터는 병렬로 동작되어 빠른 처리가 가능하다.

 

 

댓글