RPC Framework DaeJin Choi
Contents RPC Overview 기존 RPC Framework 문제점 개선 및 장점 구조 및 흐름도 Performance
RPC Overview What is RPC? –Remote Procedure Call Client Server 1. Procedure call 2. Connect 3. Implementation 4. Return result 5. Use the result
Hadoop RPC 기존에 Hadoop 에서 제공해주는 RPC API Asynchronous 통신을 지원하지 않음 Procedure Call 의 Parameter 에 대해 오로 지 Java type(writable) 만 이용이 가능
Our RPC Framework Asynchronous / Synchronous 통신 지원 Protocol buffer 를 이용하여 Language Independent 하도록 지원 기존 Java Primitive Type 에 대해서는 Protocol buffer 를 이용하지 않고 바로 이용 할 수 있도록 편의성 제공
Framework Structure Framework Interface Server Core ( Asynchronous ) Client Core Asynchronou s part ( Includes callback ) Synchronous Part
RPC Flow Client Server RPC Framework Get handlerServer run Procedure call return result type Callback Return Direct Return
Benchmark Env. Environment –Intel(R) Core(TM) i GHz –4G Memory Benchmark Condition –1 thread * ( 1000 / / ) requests –10 thread * ( 1000 / / ) requests –Average of 5 tests for each section
Benchmark Result One Thread Multi Threads # of Comm.AsyncBlockingHadoop RPC 10 * ms902.4ms664.6ms 10 * ms4359.8ms2047ms 10 * ms ms14714ms # of Comm.AsyncBlockingHadoop RPC 1 * ms628ms497ms 1 * ms2489.2ms2591ms 1 * ms9329.2ms ms