12.07.2015 Views

嵌入式网络协议引擎(ETA)加速网络应用程序处理

嵌入式网络协议引擎(ETA)加速网络应用程序处理

嵌入式网络协议引擎(ETA)加速网络应用程序处理

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

嵌 入 式 网 络 协 议 引 擎 (<strong>ETA</strong>) 加 速 网 络 应 用 程 序 处 理作 者 : 林 明 峰日 期 :2003-12


概 要• 今 天 的 网 络 环 境 和 网 络 操 作 系 统• Linux 的 tcp/ip stack 的 性 能• 嵌 入 内 核 的 tcp 加 速 模 块• <strong>ETA</strong> 的 现 实 应 用


今 天 的 网 络 环 境 和 操 作 系 统


10G 的 以 太 网 络 带 来 什 么• 通 用 处 理 器 必 须 每 67 奈 秒 处 理 一 个 数 据 包• 超 过 通 用 处 理 器 处 理 极 限• 协 议 占 用 太 多 时 间


NP 是 唯 一 的 解 决 方 案 吗 ?• Intel Ixp1200 带 来 好 处• 网 络 处 理 器 对 软 件 系 统 结 果 带 来 的 问 题• 灵 活 性 和 高 性 能 的 矛 盾


系 统 中 断内 存 拷 贝缓 冲 区 管 理系 统 呼 叫Tcp/ip 协 议应 用 程 序 只 能 占 用 3%谁 占 用 的 cpu 的 时 间 .


内 核 的 resource manager (ckrm)• 控 制 diskIO 的 资 源 分 配• 控 制 网 络 的 IO 分 配• 目 前 还 不 成 熟• http://ckrm.sourceforge.net/


我 们 的 解 决 方 案• 区 分 出 独 立 的 协 议 处 理 层• 固 定 一 个 cpu 来 专 门 处 理 协 议• 制 定 一 个 异 步 的 通 讯 接 口• 新 的 socket 库 来 利 用 <strong>ETA</strong>


<strong>ETA</strong> System Architecture•Network stack•Virtualized,asynchronous queuingand event handling•Engine Architecture &platform integrationFileSystemIP StorageDriverKernelApplicationsSocketProxy<strong>ETA</strong> Host InterfaceUserSocketApplicationsPacket Processing EngineNetwork FabricLAN Storage IPC


Direct Transport InterfaceApplication (Kernel or User)Adaptation LayerShared Host MemoryDTIDoorbellDTITxQueueAppBuffersDTIRxQueueDTIEventQueueAnonymousBufferPool<strong>ETA</strong>Packet Processing EngineNIC…NIC


DTI Operation Model• DTI operations:•Connection requests (Connect, Listen, Bind, Accept, Close, …)•Data transfer requests (Send, Receive)•Misc. operations (Set/Get Options,…)Host ApplicationTxQAdaptation layerRxQEventQDTIDoorbellEVENT AEVENT BEVENT COP COP AOP DOP BServiceDoorbellDe-QueueOperationDescriptorProcessOperationPostCompletionEventPost<strong>ETA</strong> InterruptEvent (if waiting)


<strong>ETA</strong> Test EnvironmentCPU 0Host2.4 GhzHostMemoryCPU 1PPE2.4 GhzKernelTestProgramKernelAbstraction Layer<strong>ETA</strong> Host Interface<strong>ETA</strong> PPESoftwareOff-the-shelfLinux ServersClientsClientsClientsClients TestClientsGigabit NICs (5)


2P SMP ProfileInterrupt10%copy12%syscall7%other8%idleIdledriver20%Kernel97%app3%App3%tcp/ip26%bufmgt14%Processingrequirements in multiplecomponentsTCP/IP is the largestsingle component, but issmall compared to totalThe copy overhead isrequired to supportlegacy (synchronous)socket semanticsInterrupts and systemcalls are required inorder to time-share theCPU resources


Normalized CPU Usage0.800.750.70CPUs Spent0.600.500.400.300.520.280.390.32<strong>ETA</strong>SMP0.200.100.110.070.180.090.150.00app tcp/ip bufmgt driver OTHER


<strong>ETA</strong> 的 应 用• 基 于 内 核 级 别 的 ids 程 序• 独 立 于 操 作 系 统 的 包 获 取• 接 管 网 卡

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!