Presentation is loading. Please wait.

Presentation is loading. Please wait.

Outline Introduction Overview of the Akamai platform Akamai HD network

Similar presentations


Presentation on theme: "Outline Introduction Overview of the Akamai platform Akamai HD network"— Presentation transcript:

0 The Akamai Network: A platform for high-performance Internet application
Erick Nygren, Jennifer Sun, Akamai Technologies Vasileios Pappas, Akamai Technologies and University of Massachusetts ACM SIGOPS 2010 Speaker : Conque, Kim

1 Outline Introduction Overview of the Akamai platform Akamai HD network
Conclusion

2 Introduction Possible risks of the current Internet for businesses
Reliability Designed as best effort network, the Internet provides no guarantees on end-to-end reliability Single one-hour outage can cause significant damage to brand reputation of e-commerce companies Performance Inherent limitation in the Internet makes difficult to achieve desired levels of performance for accessing the commercial sites e.g. application adoption and site conversion rates Large-scale distributed computing platform is needed First-pioneered one is the Akamai network 현재의 인터넷은 인터넷 상에 비즈니스를 하는데 있어서 기술적인 걸림돌이 되고 있습니다. 이것은 기존의 인터넷이 commercial network application을 구축하는데 필요한 성능, 신뢰성, 확장성, 즉, scalability를 갖추고 있지 않기 때문이다. 특히 한시간의 다운만으로도 소비자들은 금전적으로 큰 영향을 받을 수 있으며, 이러한 영향은 비즈니스 업계에서 그 평판에 큰 영향을 미친다. 실제로 IT 강국인 국내의 통신사 불통 사태나 블랙아웃 위기 등 다양한 문제들이 거론되고 있으며, 이것은 비단 우리나라 뿐만 아닌 여러나라에 지속되는 문제들이다. 우리는 이를 확장된 분산 컴퓨팅 플랫폼인 Akamai network를 이용하여 극복하고자 한다.

3 Problem about performance
For supporting web content and streaming media, current network has a limitation The distance between server and end user becomes a bottleneck for video throughput Distance Network RTT Typical packet loss Throughput 4GB DVD download time Local 1.6 ms 0.6 % 44 Mbps 12 min. Regional 16 ms 0.7 % 4 Mbps 2.2 hrs. Cross-continent 48 ms 1.0 % 1 Mbps 8.2 hrs. Multi-continent 96 ms 1.4 % 0.4 Mbps 20 hrs. 그렇다면 이러한 영향을 어떻게 극복해야 될것인가 ? 특히 이러한 영향이 가장 큰 이유는 바로 성능에 대한 Evaluation 에서 볼 수 있으며, 이전에 설명드렸듯이 origin server와 사용자 간의 거리가 멀어질 수록 영향이 더 커지는 것을 다음 표를 통해 알 수 있다. [Fig] Effect of distance on throughput and download time

4 Akamai network One of the world's largest distributed computing platforms Feature of the Akamai Delivery network for evolving the business network First pioneering the concept of Content Delievery Network Replicating and delivering content and applications at the edge of the Internet, close to the end users Virtual network for the existing Internet Working over the existing Internet as-is Akamai 가 처음 소개한 CDN (Content Delivery Network)이란 기존의 인터넷의 성능을 향상하기 위한 Delivery network platform 입니다. 이것의 주요 기법은 변화가 많지 않은 정적 web contents를 end point에 캐쉬 하므로써, middle mile, 즉, intermediate links 에서의 bottleneck을 가능한한 줄이는 것에 초점을 두고 있습니다. (기존의 CDN 기법에서도 많이 활용되는 부분이다.) 또한 이것은 Virtual networks 로서 기존의 internet 위에서 별도의 기반 네트웍에 변화를 주거나 client software를 추가적으로 사용할 필요없이 적용 가능합니다.

5 Benefits of Akamai Speed up remote user application performance
Reduce server load Improve application delivery reliability Reduce bandwidth usage at main server datacenter Improve application security 그리고 end point의 content caching 에 기반한 delivery network을 통해 Akamai 는 실제 인터넷 사업자들의 고객들이 쓸 Application Performance 를 올릴 수 있고, 서버의 부담을 줄일 수 있으며, 이를 통해 기업적 신뢰성을 고객들로 부터 얻는 것이 가능합니다. [Fig] Global performance with and without Akamai *borrowed from ADCAP Network system`s site

6 Outline Introduction Overview of the Akamai network Akamai HD network
Conclusion 그렇다면 단순히, Caching 을 지원한다는 컨셉 만으로 이렇게 많은 일을 하는 것이 가능한가 하는 의문이 듭니다. 이제부터는 Akamai는 어떤 구조를 가지고 있는지 그리고 어떤 기준으로 주요 기법에 해당하는 caching을 진행하는지 살펴보겠습니다.

7 Backup Slides 105,000+ Servers 1900+ POPs 950+ Networks 750+ Cities
The Akamai EdgePlatform: 105,000+ Servers 1900+ POPs 950+ Networks 750+ Cities 78+ Countries Resulting in traffic of: 5.4 petabytes / day 790+ billion hits / day 436+ million unique clients IPs / day - 우선 아카마이가 내세우는 caching은 edge server 에서 주로 이루어 집니다. 여기서 말하는 edge server 란 여러 국가의 주요 ISP에 설치된 십만대 이상의 캐시 서버를 말합니다. 아카마이는 이러한 캐시 서버를 각 ISP 에 설비한 후, 기존 네트워크 인프라를 활용하기 위한 계약을 통해 자신의 네트워크 인프라를 구축합니다. 그리고 이렇게 설비된 캐시 서버를 통해 실제 인터넷 사업자가 유통하고자 하는 컨텐츠를 캐싱해 줌으로써, 이를 통해 인터넷 사업자는 별도의 추가 웹서버 구축이나 전용망 설비 없이 쾌적한 서비스를 제공할 수 있게 됩니다. 또한 사업자들의 주요 고객 들은 캐싱된 데이터를 통해 좀더 빠른 인터넷 서비스를 제공 받을 수 있습니다. 다시 말해, Akamai의 실제 자산은 바로 자신들이 구축한 캐시서버, 즉, EdgePlatform과 이를 기반한 캐싱 시스템이며, 이러한 기술을 바탕으로 일정량의 캐싱을 제공함으로써, 말그대로 컨텐츠 캐싱를 바탕으로 한 수익을 창출하는 방식입니다. (Term) On the Internet, a point-of-presence (POP) is an access point from one place to the rest of the Internet (POP also stands for the Post Office Protocol; see POP3.) A POP necessarily has a unique Internet Protocol (IP) address. Your Internet service provider (ISP) or online service provider (such as AOL) has a point-of-presence on the Internet and probably more than one. The number of POPs that an ISP or OSP has is sometimes used as a measure of its size or growth rate. POP : Point of presence

8 Anatomy of a delivery network
Pull-based caching Transport Sys. ? Contents End Users ak.naver.com/image.jpg 그리고 이러한 Edge server 들의 Caching 프로세스는 다음과 같습니다. 우선 Edge 서버가 없는 상태의 일반사용자들은 Origin server로 부터 직접 데이터를 request하여 받게 됩니다. 하지만 Edge server를 이용하면 첫번째 로, 1) 아카마이 CDN 서비스를 사용하는 CP가 컨텐츠를 origin server에 업로드합니다. 1-2) 이 때, Origin server는 업로드된 컨텐츠를 각 캐시로 곧바로 전달하지 않습니다. (즉, Push하지 않음) 그리고 실제 데이터를 넘기는 시점은 사용자로부터 캐시 서버가 데이터 요청을 받았을 때, Cache miss 가 발생되는 경우, 즉, 서버가 원하는 데이터가 push 되지 않았고, 자신의 캐시에 없을 경우에 캐시 서버를 통해 요청을 받게되는 시점입니다. 2) 이때, 캐시 서버는 주변의 다른 캐시 서버 또는 origin server로 부터 요청 받은 contents를 받아옵니다. (즉, Pull based 방식입니다.) 3) 그리고 최종적으로 받아온 컨텐츠를 사용자에게 전달하고, 해당 컨텐츠를 캐시해둡니다. 즉, 많은 CDN 사업자 가운데, Akamai의 경우에는 컨텐츠를 무조건 캐시 서버로 밀어넣지 않고, 'cache miss'가 발생했을때 컨텐츠를 받아와서 채워넣는 'Pull' 방식을 기반으로 동작합니다. 그리고 여기서 캐싱되는 정보는 end user의 정보 및 데이터 사용량에 따라 cache label 된 데이터를 저장합니다. 여기서 말하는 cache label 이란 해당 site 의 URL 과 request 정보를 포함하는 것으로, 이를 기반으로 중복되는 정보는 edge server에서 배재하여 효율적인 caching 이 이루어 지도록 합니다. 다음 설명해 드릴 내용은 그럼 어떠한 방식으로 이러한 contents를 Mapping 할지와 에 대한 내용입니다. ===================================== [사용자 흐름] Akamai network에서의 main stream은 다음과 같다. 사용자가 브라우져에서 URL을 입력하면 mapping system을 통해 edge server 의 IP 주소로 변환된다. 여기서의 mapping system은 큰 규모의 historical and current data를 기반한다. 사용자는 해당 Edge server 를 경유하여 요청을 전달하거나 요청한 데이터를 전달 받으며, 이는 Transport system을 거쳐서 일어난다. Transport system은 data와 content를 long-haul Internet을 경유하여 전달하며, Static content의 caching을 겸하기도 한다. Mapping Sys. Data collection & analysis

9 Akamai`s Mapping system
Main parts of the mapping system Scoring system Creating current, topological map capturing the state of connectivity across the entire Internet Using equivalent classes of IP address and historic and real-time data like pings, traceroutes, and etc. Real-time mapping Creating actual maps used by the Akamai platform to direct end users based on the scored data - Akamai 의 mapping system은 총 두가지 파트로 이루어져 있으며, 우선 전체적인 연결망 정보를 가진 scoring system과 이를 바탕으로 매핑하는 real-time mapping으로 이루어져 있습니다. - 여기서 scoring system은 실제 CP Content provider의 정보 및 transport system의 상태, 현재 cluster 들의 정보 및 end user의 정보를 파악하고 있습니다. 그리고 이를 바탕으로 real-time mapping system 에서 end-user가 request를 요청했을 때, 해당 request가 자신과 계약한 인터넷 사업자의 정보와 일치한다고 판단되면, 이를 mapping 하여 edge server cluster로 부터 캐싱된 정보를 받을 수 있도록 도와 줍니다. 이 이외에도 이러한 조율 시스템은 data collection and analysis system(다양한 source로 부터 데이터(로그나 서버 정보)등의 데이터를 모으거나 처리), Communication and control system(status info, control msg, 설정 업데이트를 분산), management portal(end-user에게 어떻게 데이터를 전달 /관리할지를 정하는 설정 관리 platform, 사용자의 app, content에 대한 접근을 모니터링 하는 기업 관리 포털의 역할) 등이 있으며, 이를 통해 system이 지속적으로 관리되고 있다.

10 Outline Introduction Overview of the Akamai platform Akamai HD network
Conclusion

11 Delivery network for high performance
Video-grade scalability Current network including datacenter and peering points is no longer sufficient to support Solution, ‘IP-layer multicasting’ is no more practical in reality Streaming performance Multi dimensional and complex streaming performance need measurements for efficiency Stream availability, startup time, highest bitrate and effective bandwidth are a good metrics for optimizing the network Monitoring infrastructure built by Akamai are measuring the metrics above 논문에 따르면 Cisco는 2014년에 90 % 이상의 traffic이 video에 사용될 것이라 예측했으며, 이러한 증가 추세는 현재의 Youtube로도 알 수 있듯이 지속적으로 증가하고 있습니다. 이러한 상황에서 특히 video와 같은 미디어를 커버하기에는 현재의 bandwidth 가 부족해지기 시작하였고, 이러한 원인은 단순히 data center에 있는 것이 아닌 이제는 망 자체에 까지 확장된 상황에 이르렀습니다. 즉, 현재 인터넷의 처리 능력이 포화 상태가 된 것입니다. 이에 대한 해결책으로 IP layer multicast 등을 들 수 있으나, multicasting 또한 현실적인 점에서 backbone router에서의 보안이나 content access control , time-shifting 같은 추가적인 처리 사항의 증가를 처리하지 못하는 이상 구현하기 어려운 부분 입니다. 그래서 등장한 것이 Akamai network에서의 high-definition streaming network, HD Network 이다.

12 Process of streaming CDN
Original File Encoder Entrypoint Subscribe Publish Set reflector Set reflector Set reflector Subscribe Publish Multicast Communication Edge reflector Edge Server Edge reflector Edge Server Edge reflector Edge Server Streaming Server Streaming Server Streaming Server - 이제부터는 HD network 에서 Akamai는 과연 어떻게 stream을 버퍼할 것인지에 대한 내용을 살펴 보고자 한다. - 기존의 스트리밍 방식의 경우 원본 > 인코더 > 스트리밍 서버 > 사용자로 가는 것이 일반적이나, 분산된 서버에서의 스트리밍을 위해 CDN 이 취하는 방식은 좀 더 복잡하다. - 우선 entry point 라 하여 akamai server cluster를 거쳐 edge server로 전달되는 방식은 기존의 CDN과 동일하다. 하지만 entrypoint 와 edge server 사이에 서버의 intermediate layer, 즉, reflector를 둠으로써, 데이터를 전송한다는 점에서 차이가 있다. 여기서 reflector란 live stream의 multiple copy를 생성해 주고, 이를 적절한 경로로 edge server 까지 전달해 주는 기능을 하는 intermediate nodes 라고 볼 수 있다. reflector를 거치는 전송 방식은 publish-subscribe 모델에 따라 행해지며, edge reflector라고도 부르는 이유는 Set reflector와 대칭된 형태로 reflector의 기능을 해주기 때문이다. Edge reflector가 받은 사용자의 request에 따라 Set reflector로 부터 publish 한 데이터를 지속적으로 받고, streaming 서버를 통해 최종적으로 사용자가 받을 영상의 형태를 변환하여 사용자에게 매핑하게 된다. 그리고 사용자에게 전달되는 데이터는 multicast communication을 통해 전달된다. ** 추가 사항 : 이때 edge reflector는 set reflector로부터 duplicate 된 live stream을 받아 같은 cluster 내에서 지속적으로 취합하여 streaming server 부분으로 넘기게 되고 streaming server는 취합된 부분을 streaming 하여 End user 들에게 전달하게 된다. 이러한 방식을 통해 streaming server로 부터 사용자까지의 streaming 이 가능해 진다. Subscribe Publish Mapping to end users

13 Techs. for quality of streaming
Packet loss recovery Collecting traces of packet flows that were at least 1 h long, and spanning a lots of packets By using parity bits for single or multiple streams or using plain retransmission, they can reduce packets` loss rate Adaptive multipath transmission Replicating packets originating from a particular entrypoint and sending across multiple set reflectors to a single edge region Modifying the streaming server to provide stream quality information to the edge reflectors 그렇다면 이러한 streaming 과정에서 CDN을 보완하기 위해 사용되는 Akamai 만의 기술은 무엇이 있는가. 그 첫번째가 바로 packet loss recovery 이다. CDN 에서의 live streaming 시에 고려해야할 사항은 바로 encoder에서 edge server 까지의 구간에서 발생할 수 있는 문 제들 이다. 데이터가 전달 되는 도중 유실되거나 손상되게 되면 결국 streaming server에서 정상적으로 데이터를 streaming 할 수 없게 되므로, 이를 방지하기 위해 사용되는 것이 packet loss recovery 이다. (참고) 물론 Transmission Control Protocol TCP 를 사용하는 것 또한 해결책이 될 수는 있으나, 이것은 backoff 나 Bandwidth throttling으로 인해 사용자가 live stream을 받는 시간 자체에 문제가 될 수 있으므로, 현재는 User Datagram Protocol UDP를 사용하고 있다. 이러한 loss recovery 방식에는 parity bit를 이용한 방식이나 retransmission을 이용하는 경우가 있다. 2. 또한 Multiple path를 통해 하나의 single edge region에 데이터를 전달하는 adaptive multipath transmission 이 있다. 이것은 packet을 하나의 entry point로부터 복제하여 여러 개의 set reflector를 경유하여 하나의 single cluster of edge server 로 전송하는 것으로. 여러 개의 중복된 스트림을 하나로 합쳐서 에러 없는 깔끔한 stream을 streaming server에서 받을 수 있도록 하는 것이 이 기술의 요지이다. 단점이 있다면, 하나의 stream이 지속적으로 복제되는 만큼 많은 비용적 낭비가 발생하며, 이것은 특히 많이 사용되지 않 는 stream의 경우 심각한 자원낭비가 될 수 있다. 그래서 이를 해결하기 위해 streaming server에서 stream quality에 대한 정보를 edge reflector에게 보내 부담을 줄이는 방법이 있다.

14 Techs. for quality of streaming
Prebursting Delivering a stream to a server at a higher rate than the encoded rate for the first few seconds of the streaming session`s life Advantages Reuse the retransmit buffers as the prebursting buffers Reduce buffering time 마지막으로 prebursting 기술이 있습니다. 이것은 encoded rate보다 전송율을 올려서 실제 동영상이 encoding 되는 것 보다 빠른 동영상을 사용자가 접할 수 있도록 하는 것입니다. 물론 일반적인 경우에는 불가능하나 (retransmission을 위해) encoding 된 데이터를 일정 부분 caching 해 두고 이를 재전송함으로써, prebursting 에 활용가능합니다. 말하자면, 저장된 데이터를 통한 부스팅 기능이라고 할 수 있습니다. 이를 통해 구조적으로는 retransmission buffer를 prebursting buffer로써 활용이 가능하며, 성능 면에서 무엇보다도 초기 buffering time을 줄일 수 있으므로, 사용자에게 보다 나은 streaming 서비스가 가능합니다. 오른쪽 그림에서의 rebuffering minute을 보면 이를 쉽게 알 수 있으며, prebursting을 통해 rebuffering 시간을 9배 이상 줄이는 것이 가능함을 볼 수 있습니다. x 9

15 Outline Introduction Overview of the Akamai platform Akamai HD network
Conclusion

16 Conclusion Akamai network uses the cache functionality of edge node for improving the service of B2B networks Akamai has been providing their own technics for improving the end-to-end network performance, and now especially on the HD network for live streaming Packet loss recovery, multipath transmission, and prebursting

17 Backup Slides Akamai system`s design principle
Key principle of the platform system design Design for reliability Ensuring full redundancy of components, and building in multiple levels of fault tolerance, etc Design for scalability Handling large volumes of resulting data and building components for supporting the increasing number of distributed machines Design for performance Improving end user response times and the other metrics, such as cache hit rates and network resource utilization Akamai가 내세우는 차별성은 이 design principle에 기반합니다. 데이터를 전달하는데 있어 신뢰성을 갖추어야 하고, 대용량의 data를 전달하는데 있어서 어느 지역에서도 handling 할 수 있는 scalability를 갖추고 있어야 하며, 무엇보다도 사용자가 불편을 느끼지 않을 정도의 성능을 부여할 수 있어야 한다는 것입니다. 이것을 Akamai는 자신의 edge server를 설치함을 통해서 보완하고 있습니다.

18 Backup Slides (1/3) Using parity scheme across a single stream Example
Pros & cons : even-parity codeward 1 1 1 1 1 1 : odd-parity codeward Pros Cons No additional storage and no added delay Odd numbers of bit errors are only detected No indication of which bits are in error Parity bit는 구성하는 data에 even/odd parity bit 방식에 따라 마지막에 한 bit를 추가해 주는 block code 방식으로 1 bit 만큼의 redundancy 가 발생하는 block code 이다. 아래의 예를 들어 설명하자면, 원래 bit 1의 수가 4 인 6bit data의 경우 Even-parity의 경우 1의 수가 이미 짝수개 이므로, 0을 추가하여 bit 1의 수가 짝수가 되도록 맞추는 방식이고, Odd-parity의 경우 1의 수가 짝수개 이므로 1을 추가하여, bit 1의 수가 5개, 즉, 홀수가 되도록 맞추는 방식이다. 문제는 짝수로 bit 가 error 난다면, 검출이 불가능 하다. 예를 들어 앞의 상반된 두 bit 가 변해버리면, 마찬가지로 odd-parity 이기 때문에 error 라는 것을 인지 할 수 없다. 또한, 에러의 여부는 알 수 있으나, codeword 중 어떤 bit 가 에러인지 확인이 불가능하다. 물론 연산상에 추가적인 저장소나 delay가 없다는 점은 구현의 최적화에 도움이 되나, 어느 위치에 에러인지를 확인할 수 없고, 심지어 기수 에러에만 반응한다는 점에서 효율이 좋지 않기에 간단한 에러에만 사용되는 block code 이다.

19 Backup Slides (2/3) Parity scheme across multiple streams Pros & cons
Arranging data bits into an array and compute parity along each row and column Allowing us to both detect and correct the error Pros & cons (Even parity) 1 Pros Cons Available to correct a single-bit error Easy to compute Limitation in correcting errors Coding delay 1 그래서 이전의 parity codes의 문제점을 해결하기 위해 수정이 가능한 방식을 찾은 것이 Parity codes를 배열로 정렬한 rectangular codes 입니다. 각 code를 행렬에 맞추어 line-by-line 으로 볼 수 있기 때문에 에러 검출과 동시에 수정이 가능합니다. 오른쪽의 7x7 배열이 바로 even parity가 적용된 rectangular codes 입니다. 예를 들어 이중 하나의 bit를 transition 시키면 각 가로 (Column)열의 마지막 parity bit를 통해 현재 error 가 발생한 string을 먼저 구하고, 확인된 string 중에서 오류가 난 bit는 마지막 열에서 다시 even parity 기준에 어긋난 행을 찾으면 됩니다. 하지만 parity codes의 even/odd 라는 이분법적인 분류 특성상 아직 두개 이상의 error 가 같은 열이나 같은 행에서 발생할 경우에는 검출은 가능하나, 수정이 불가능 하다는 단점이 있습니다. 1 1

20 Backup Slides (3/3) Parity schemes considering single stream or multiple streams In ‘multiple streams’ 마지막으로 두가지 parity scheme을 비교해 보면 bursty error에 강한 multiple stream 대상 parity scheme 쪽이 효율적임을 볼 수 있다. 이것은 bursty 한 에러가 연속적으로 많은 streaming 특성상 loss recovery 가 다른것으로 생각된다. 다만, 장단 점이 있기에 두가지 방식이 같이 소개된 것으로 보인다. In a ‘single stream’

21 Backup Slides


Download ppt "Outline Introduction Overview of the Akamai platform Akamai HD network"

Similar presentations


Ads by Google