TWI664572B - 資訊處理傳輸裝置 - Google Patents

資訊處理傳輸裝置 Download PDF

Info

Publication number
TWI664572B
TWI664572B TW107104582A TW107104582A TWI664572B TW I664572 B TWI664572 B TW I664572B TW 107104582 A TW107104582 A TW 107104582A TW 107104582 A TW107104582 A TW 107104582A TW I664572 B TWI664572 B TW I664572B
Authority
TW
Taiwan
Prior art keywords
operating system
network connection
information processing
connection unit
transmission device
Prior art date
Application number
TW107104582A
Other languages
English (en)
Other versions
TW201935233A (zh
Inventor
阮騰輝
黃綉玲
李彥瑾
孫世諺
Original Assignee
威綸科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 威綸科技股份有限公司 filed Critical 威綸科技股份有限公司
Priority to TW107104582A priority Critical patent/TWI664572B/zh
Application granted granted Critical
Publication of TWI664572B publication Critical patent/TWI664572B/zh
Publication of TW201935233A publication Critical patent/TW201935233A/zh

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一種資訊處理傳輸裝置,包含:多個資訊處理單元;多個作業系統, 各個作業系統為所屬於各個該資訊處理單元而於非對稱多重處理的架構下運行;記憶體單元,經配置而儲存個別地對應於各個該作業系統的中斷指令碼;一實體網路連線單元,具有所屬的一媒體存取控制位址及一網際協定位址,且該實體網路連線單元經配置而提供多個該作業系統的其中一個作業系統予以連線至網路而成為直接連線作業系統,而使該資訊處理傳輸裝置透過該媒體存取控制位址及該網際協定位址而與該網路進行資訊傳輸,其中多個該作業系統中的其它作業系統為待連線作業系統;以及虛擬網路連線單元,依據該待連線作業系統的數量而以一對一的方式個別地連接於該待連線作業系統,該虛擬網路連線單元連接至該實體網路連線單元而提供該待連線作業系統與該直接連線作業系統共同地藉由該媒體存取控制位址及該網際協定位址而連線至該網路。

Description

資訊處理傳輸裝置
本發明相關於資訊處理傳輸裝置,特別是相關於一種具有多個作業系統且多個作業系統配合資訊處理單元運行並得以各自獲得所需網路資源的資訊處理傳輸裝置。
現有的資訊裝置之其中一種架構為,兩個處理器核心配合單一個作業系統而各自執行所屬的運算任務(亦即,每個處理器核心執行一個或一個以上的運算任務),且此作業系統透過單一個實體網路連線裝置(亦即,網路卡)連線至網路而分配兩個處理器核心執行運算任務時所需的網路資源。但是,在單一個作業系統的運作條件下,作業系統必須配合多個處理器核心之運算任務進行調度以及針對多個運算任務所需的網路資源進行分配,以致作業系統的負擔過高而使資訊裝置的整體作業效能受到限制而不盡理想。
現有的資訊裝置的另一種架構為,在對稱多處理(SMP,Symmetric Multiprocessing)的架構上,藉由虛擬機器監視器(VMM,Virtual Machine Monitor,亦即Hypervisor)的建立,行程(Process)得以在不同的處理器間移動,具體而言,虛擬機器監視器是以裸機虛擬化(Bare-Metal)的方式創建兩個客體作業系統(Guest Operating System);兩個客體作業系統相應地配合資訊裝置的兩個處理器核心而各自進行運作,且虛擬機器監視器透過單一個實體網路連線裝置連線至網路而提供兩個客體作業系統各自所需的網路資源。然 而,資訊裝置欲透過虛擬機器監視器控制資訊裝置的硬體(包含處理器核心、記憶體、硬碟、實體網路連線裝置)且管理客體作業系統,必須要在資訊裝置的硬體能夠支援虛擬機器監視器的前提下,方可達成使虛擬機器監視器直接地運行於資訊裝置上的目的;並且,在資訊裝置的架構安排上,虛擬機器監視器設置於客體作業系統及實體網路連線裝置之間而使客體作業系統無法直接地連接至實體網路連線裝置,使得網路資源的傳輸效率受到虛擬機器監視器的影響而無法提升。因此,現有的資訊裝置對於具有虛擬機器監視器的架構仍有其實際採用上的限制。
現有的資訊裝置的第三種架構為,資訊裝置具有兩個處理器核心及兩個實體網路連線裝置,兩個處理器核心各自地配合兩個作業系統運作而執行運算任務;兩個作業系統分別直接地連接至兩個實體網路連線裝置而連線至網路,以使兩個作業系統能夠獲得處理任務時所需的網路資源。然而,當資訊裝置有其他作業需求而需彈性調度其中一個實體網路連線裝置以連線至網路時,現有的資訊裝置無法在抽調出其中一實體網路連線裝置的情況下而仍同時滿足兩個作業系統的網路連線需求,以致現有的資訊裝置在架構安排上仍未臻完善。
因此,為解決上述問題,本發明的目的即在提供一種僅憑藉單一個實體網路連線單元而使多個作業系統連線至網路的資訊處理傳輸裝置,從而提升資訊處理傳輸裝置的作業效能、網路資源的傳輸效率,且得以彈性調度資訊處理傳輸裝置的實體網路連線單元而供其他作業需求連線至網路。
本發明為解決習知技術之問題所採用之技術手段係提供一種資訊處理傳輸裝置,包含:多個資訊處理單元;多個作業系統,各個作業系統為 所屬於各個該資訊處理單元而於非對稱多重處理(AMP,Asymmetrical Processing Multi-Core System)的架構下運行;記憶體單元,經配置而儲存個別地對應於各個該作業系統的中斷指令碼以中斷各個該作業系統;一實體網路連線單元,具有所屬的一媒體存取控制位址(MAC address)及一網際協定位址(IP address),且該實體網路連線單元經配置而提供多個該作業系統的其中一個作業系統予以連線至網路而成為直接連線作業系統,而使該資訊處理傳輸裝置透過該媒體存取控制位址及該網際協定位址而與該網路進行資訊傳輸,其中多個該作業系統中的其它作業系統為待連線作業系統;以及虛擬網路連線單元,依據該待連線作業系統的數量而以一對一的方式個別地連接於該待連線作業系統,該虛擬網路連線單元連接至該實體網路連線單元而提供該待連線作業系統與該直接連線作業系統共同地藉由該媒體存取控制位址及該網際協定位址而連線至該網路,其中,該虛擬網路連線單元向該實體網路連線單元所連線之作業系統註冊通訊埠編號(Port Number)或通訊協定,若實體網路連線單元收到符合通訊埠編號或通訊協定之封包,則實體網路所連線之作業系統需要轉發封包,而使每一個該虛擬網路連線單元與該實體網路連線單元之間得以雙向地轉發網路封包,藉此而使該實體網路連線單元作為該虛擬網路連線單元與該網路之間的資訊傳輸單元,且各個該待連線作業系統係藉由各自儲存於該記憶體單元的中斷指令碼而執行與該虛擬網路連線單元之間的資訊傳輸,且該直接連線作業系統係藉由儲存於記憶體單元的中斷指令碼而執行與該實體網路連線單元之間的資訊傳輸。
在本發明的一實施例中係提供一種資訊處理傳輸裝置,其中該網路為區域網路或網際網路。
在本發明的一實施例中係提供一種資訊處理傳輸裝置,其中多個該資訊處理單元係為單個處理器的多數個異質處理器核心。
在本發明的一實施例中係提供一種資訊處理傳輸裝置,其中多個該作業系統為相互異質的作業系統。
在本發明的一實施例中係提供一種資訊處理傳輸裝置,其中該直接連線作業系統為即時作業系統(RTOS,Real-Time Operating System)。
在本發明的一實施例中係提供一種資訊處理傳輸裝置,其中該中斷指令碼為軟體中斷指令碼。
在本發明的一實施例中係提供一種資訊處理傳輸裝置,其中虛擬網路連線單元的安裝程式依據該待連線作業系統的數量而形成相應數量的虛擬網路連線單元。
本發明實施例的資訊處理傳輸裝置具有以下功效。本發明的多個作業系統是在非對稱多重處理(AMP)的架構下配合多個資訊處理單元而運行,且藉由虛擬網路連線單元以一對一的方式個別地連接於待連線作業系統並連接實體網路連線單元,而使待連線作業系統與直接連線作業系統共同地藉由單一個實體網路連線單元的媒體存取控制位址及網際協定位址而連線至網路。藉此,本發明的資訊處理傳輸裝置得以由多個作業系統配合多個資訊處理單元執行運算任務而使作業系統的效能獲得改善,且以非設置虛擬機器監視器的方式而直接地連接直接連線作業系統與實體網路連線單元、待連線作業系統與虛擬網路連線單元而使網路資源的傳輸效率得以提升,並且僅憑藉單一個實體網路連線單元配合虛擬網路連線單元而使多個作業系統得以連線至網路,在滿足多個作業系統的網路連線需求條件下,而尚可彈性調度資訊處理傳輸裝置的其他實體網路連線單元以供其他連線作業的需求。
100、100A‧‧‧資訊處理傳輸裝置
1‧‧‧處理器
11、12‧‧‧資訊處理單元
21、22‧‧‧作業系統
3‧‧‧記憶體單元
31、32‧‧‧記憶體區塊
33‧‧‧共享記憶體區塊
4‧‧‧實體網路連線單元
5‧‧‧虛擬網路連線單元
6‧‧‧網路
第1圖為顯示根據本發明的一實施例的資訊處理傳輸裝置的架構方塊示意圖;以及第2圖為顯示根據本發明的另一實施例的資訊處理傳輸裝置的架構方塊示意圖。
以下根據第1圖及第2圖,以說明本發明的實施方式。該說明並非為限制本發明的實施方式,而為本發明的實施例的一種。
請參照第1圖所示,本發明的一實施例的資訊處理傳輸裝置100,包含:多個資訊處理單元(於本實施例為兩個資訊處理單元11、12,亦即處理器核心);多個作業系統(於本實施例為兩個作業系統21、22),各個作業系統21、22為所屬於各個資訊處理單元11、12而於非對稱多重處理(AMP,Asymmetrical Processing Multi-Core System)的架構下運行;記憶體單元(亦即,RAM)3,經配置而儲存個別地對應於各個作業系統21、22的中斷指令碼以中斷各個作業系統21、22;一實體網路連線單元4,具有所屬的一媒體存取控制位址(MAC address)及一網際協定位址(IP address),且實體網路連線單元4經配置而提供多個作業系統21、22的其中一個作業系統予以連線至網路6而成為直接連線作業系統(亦即,作業系統21),而使資訊處理傳輸裝置100透過媒體存取控制位址及網際協定位址而與網路6進行資訊傳輸,其中多個作業系統中的其它作業系統為待連線作業系統(亦即,作業系統22);以及虛擬網路連線單元5,依據待連線作業系統的數量而以一對一的方式個別地連接於待連線作業系統,虛擬網路連線單元5連接至實體網路連線單元4而提供待連線作業系統與直接連線作業系統共同地藉由媒體存取控制位址及網際協定位址而連線至網路6。其中,網路6得為區域網路(LAN)或網際網路(Internet)。
本發明相應第1圖所揭示的實施例為兩個資訊處理單元11、12及兩個作業系統21、22;具體而言,作業系統21使用記憶體單元3的記憶體區塊31,作業系統22使用記憶體單元3的記憶體區塊32,作業系統21、22則共同使用記憶體單元3的共享記憶體區塊33,其中共享記憶體區塊33是經配置而用以轉發封包資料的區塊且提供作業系統21、22間相互命令溝通使用(如,作業系統22向連線至實體網路連線單元4的作業系統21註冊需要轉發的通訊埠編號之命令)。然而,於本發明具體實施時,資訊處理單元及作業系統的數量並不以兩個為限,且資訊處理傳輸裝置100得具有數量在一個以上的實體網路連線單元。
進一步而言,如第1圖所示,在實體網路連線單元4與虛擬網路連線單元5的所屬媒體存取控制位址及網際協定位址皆設定為相同的條件下,網路6將視本發明的資訊處理傳輸裝置100的多個作業系統(於本實施例為作業系統21、22)為同一資訊處理傳輸裝置。並且,虛擬網路連線單元5的安裝程式依據作業系統中待連線作業系統的數量而形成相應數量的虛擬網路連線單元5。舉例而言,當作業系統中待連線作業系統為兩個時,安裝程式即形成兩個虛擬網路連線單元5,且虛擬網路連線單元5將其所屬的媒體存取控制位址及網際協定位址,皆設定成相同於實體網路連線單元4的媒體存取控制位址及網際協定位址。
進一步而言,如第1圖所示,其中虛擬網路連線單元5向實體網路連線單元4所連線之作業系統21註冊通訊埠編號(Port Number)或通訊協定(即TCP/IP協定),若實體網路連線單元4收到已符合註冊的通訊埠編號或通訊協定,則作業系統21需要轉發封包,而使每一個虛擬網路連線單元5與實體網路連線單元4之間得以雙向地進行網路封包的傳送,藉此而使實體網路連線單元4作為虛擬網路連線單元5與網路6之間的資訊傳輸單元。並且,各個待連 線作業系統(亦即,作業系統22)係藉由各自儲存於記憶體區塊32的中斷指令碼而執行與虛擬網路連線單元5之間的資訊傳輸;直接連線作業系統(亦即,作業系統21)則藉由儲存於記憶體區塊31的中斷指令碼而執行與實體網路連線單元4之間的連接作業,並透過兩個作業系統21、22所共同使用的共享記憶體區塊33而與作業系統22作資料傳輸。具體而言,連接於虛擬網路連線單元5的作業系統22透過共享記憶體區塊33而向連接於實體網路連線單元4的作業系統21註冊;在實體網路連線單元4收到已符合註冊的通訊埠編號或通訊協定的條件下,由作業系統21判斷網路封包的轉發,藉此使每一個虛擬網路連線單元5與實體網路連線單元4之間得以透過共享的記憶體區塊33與記憶體區塊31、32的中斷指令碼而雙向地轉發網路封包
具體而言,多個作業系統得為相互異質的作業系統,於本發明在第1圖所揭示的實施例中,直接連線作業系統(亦即,作業系統21)為即時作業系統(RTOS,Real-Time Operating System),而待連線作業系統(亦即,作業系統22)則為Linux作業系統。並且,兩個作業系統21、22的中斷指令碼為軟體中斷指令碼(Software Interrupt)。
請參照第2圖所示,為本發明的另一實施例的資訊處理傳輸裝置100A,其中資訊處理傳輸裝置100A與前述資訊處理傳輸裝置100的差異在於,多個資訊處理單元(亦即,資訊處理單元11與資訊處理單元12)係為單個處理器1的多數個異質處理器核心(Heterogeneous MPSoC,其中MPSoC為Multi-Processor System-on-Chips)。
於本發明實施例的資訊處理傳輸裝置100,由於多個作業系統21、22是在非對稱多重處理(AMP)的架構下配合多個資訊處理單元11、12而運行,且藉由虛擬網路連線單元5以一對一的方式個別地連接於待連線作業系統(亦即,作業系統22)並連接至實體網路連線單元4(連線至作業系統21), 而使待連線作業系統與直接連線作業系統(亦即,作業系統21)共同地藉由單一個實體網路連線單元4的媒體存取控制位址及網際協定位址而連線至網路6。藉此,本發明的資訊處理傳輸裝置100得以由作業系統21、22各自地配合資訊處理單元11、12以分別執行兩個資訊處理單元11、12的運算任務而使資訊處理傳輸裝置100的整體作業系統效能獲得改善;且資訊處理傳輸裝置100以非設置虛擬機器監視器的方式而分別直接地連接直接連線作業系統21與實體網路連線單元4及待連線作業系統22與虛擬網路連線單元5,而使網路資源的傳輸效率不受虛擬機器監視器的影響而得以提升;並且,資訊處理傳輸裝置100僅憑藉單一個實體網路連線單元4配合虛擬網路連線單元5而使直接連線作業系統21、待連線作業系統22得以連線至網路6,在滿足兩個作業系統21、22的網路連線需求下,而尚可彈性調度資訊處理傳輸裝置100的其他實體網路連線單元(亦即,未連接至直接連線作業系統21的實體網路連線單元)以作為其他連線作業需求之用。
並且,本發明的資訊處理傳輸裝置得依應用配置方式的不同而參照異質性處理器核心(Heterogeneous MPSoC)的能力,而將特定的網路封包交由具有最佳處理能力之特定處理器核心進行運算,藉此達到最佳效能。具體而言,在資訊處理單元12(為具有cortex A9的處理器核心)為配合作業系統22(Linux作業系統,亦即,連接於虛擬網路連線單元5的待連線作業系統)運行且資訊處理單元11(為具有cortex M4的處理器核心)為配合作業系統21(RTOS,亦即,連接至實體網路連線單元4的直接連線作業系統)運行的作業條件下,有需要進行複雜運算處理的封包即透過虛擬網路連線單元5而交由資訊處理單元12(cortex A9)暨作業系統22(Linux)進行處理,相對地,有需要即時回應的封包即藉由實體網路連線單元4而交由資訊處理單元11(cortex M4) 暨作業系統21(RTOS)進行快速的回應處理;藉此,本發明的資訊處理傳輸裝置得以提升作業效能與網路資源的傳輸效率。
此外,本發明的資訊處理傳輸裝置尚得以藉由虛擬網路連線單元5的安裝程式的配置(亦即,透過軟體設定的方式)而彈性調度實體網路連線單元4,而提供有連線需求的待連線作業系統連線至網路6,藉此滿足多個作業系統的網路連線需求。
以上之敘述以及說明僅為本發明之較佳實施例之說明,對於此項技術具有通常知識者當可依據以下所界定申請專利範圍以及上述之說明而作其他之修改,惟此些修改仍應是為本發明之發明精神而在本發明之權利範圍中。

Claims (7)

  1. 一種資訊處理傳輸裝置,包含:多個資訊處理單元;多個作業系統,各個作業系統為所屬於各個該資訊處理單元而於非對稱多重處理的架構下運行;記憶體單元,經配置而儲存個別地對應於各個該作業系統的中斷指令碼以中斷各個該作業系統;一實體網路連線單元,具有所屬的一媒體存取控制位址及一網際協定位址,且該實體網路連線單元經配置而提供多個該作業系統的其中一個作業系統予以連線至網路而成為直接連線作業系統,而使該資訊處理傳輸裝置透過該媒體存取控制位址及該網際協定位址而與該網路進行資訊傳輸,其中多個該作業系統中的其它作業系統為待連線作業系統;以及虛擬網路連線單元,依據該待連線作業系統的數量而以一對一的方式個別地連接於該待連線作業系統,該虛擬網路連線單元連接至該實體網路連線單元而提供該待連線作業系統與該直接連線作業系統共同地藉由該媒體存取控制位址及該網際協定位址而連線至該網路,其中,該虛擬網路連線單元向該實體網路連線單元所連線之作業系統註冊通訊埠編號或通訊協定,若實體網路連線單元收到符合通訊埠編號或通訊協定之封包,則實體網路所連線之作業系統需要轉發封包至該虛擬網路連線單元,而使每一個該虛擬網路連線單元與該實體網路連線單元之間得以雙向地轉發封包,藉此而使該實體網路連線單元作為該虛擬網路連線單元與該網路之間的資訊傳輸單元,且各個該待連線作業系統係藉由各自儲存於該記憶體單元的中斷指令碼而執行與該虛擬網路連線單元之間的資訊傳輸,且該直接連線作業系統係藉由儲存於記憶體單元的中斷指令碼而執行與該實體網路連線單元之間的資訊傳輸。
  2. 如請求項第1項所述之資訊處理傳輸裝置,其中該網路為區域網路或網際網路。
  3. 如請求項第1項所述之資訊處理傳輸裝置,其中多個該資訊處理單元係為單個處理器的多數個異質處理器核心。
  4. 如請求項第1項所述之資訊處理傳輸裝置,其中多個該作業系統為相互異質的作業系統。
  5. 如請求項第1項所述之資訊處理傳輸裝置,其中該直接連線作業系統為即時作業系統。
  6. 如請求項第1項所述之資訊處理傳輸裝置,其中該中斷指令碼為軟體中斷指令碼。
  7. 如請求項第1項所述之資訊處理傳輸裝置,其中虛擬網路連線單元的安裝程式依據該待連線作業系統的數量而形成相應數量的虛擬網路連線單元。
TW107104582A 2018-02-09 2018-02-09 資訊處理傳輸裝置 TWI664572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107104582A TWI664572B (zh) 2018-02-09 2018-02-09 資訊處理傳輸裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107104582A TWI664572B (zh) 2018-02-09 2018-02-09 資訊處理傳輸裝置

Publications (2)

Publication Number Publication Date
TWI664572B true TWI664572B (zh) 2019-07-01
TW201935233A TW201935233A (zh) 2019-09-01

Family

ID=68049735

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107104582A TWI664572B (zh) 2018-02-09 2018-02-09 資訊處理傳輸裝置

Country Status (1)

Country Link
TW (1) TWI664572B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200820082A (en) * 2006-07-25 2008-05-01 Ibm Logical partitioning and virtualization in a heterogeneous architecture
TWI302665B (en) * 2000-05-31 2008-11-01 Ibm Heterogeneous client server method, system and program product for a partitioned processing environment
US8028290B2 (en) * 2006-08-30 2011-09-27 International Business Machines Corporation Multiple-core processor supporting multiple instruction set architectures
US20130339516A1 (en) * 2012-06-15 2013-12-19 Abhishek Chauhan Systems and methods for forwarding traffic in a cluster network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI302665B (en) * 2000-05-31 2008-11-01 Ibm Heterogeneous client server method, system and program product for a partitioned processing environment
TW200820082A (en) * 2006-07-25 2008-05-01 Ibm Logical partitioning and virtualization in a heterogeneous architecture
US8028290B2 (en) * 2006-08-30 2011-09-27 International Business Machines Corporation Multiple-core processor supporting multiple instruction set architectures
US20130339516A1 (en) * 2012-06-15 2013-12-19 Abhishek Chauhan Systems and methods for forwarding traffic in a cluster network

Also Published As

Publication number Publication date
TW201935233A (zh) 2019-09-01

Similar Documents

Publication Publication Date Title
US11809338B2 (en) Shared memory for intelligent network interface cards
US11372802B2 (en) Virtual RDMA switching for containerized applications
JP6433554B2 (ja) 計算タスクを処理するためのコンピュータクラスタ構成、およびそれを動作させるための方法
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
US9742726B2 (en) Distributed dynamic host configuration protocol
US8726093B2 (en) Method and system for maintaining direct hardware access in the event of network interface card failure
US9667593B2 (en) Selectively refreshing address registration information
WO2018086014A1 (zh) 云计算系统中报文处理的方法、主机和系统
WO2018086013A1 (zh) 云计算系统中报文处理的方法、主机和系统
US9354952B2 (en) Application-driven shared device queue polling
WO2014206105A1 (zh) 虚拟交换方法、相关装置和计算机系统
US9576332B1 (en) Systems and methods for remote graphics processing unit service
US9009702B2 (en) Application-driven shared device queue polling in a virtualized computing environment
WO2013086861A1 (zh) 一种多路径访问i/o设备的方法、i/o多路径管理器及系统
US10353857B2 (en) Parallel processing apparatus and method for controlling communication
US20180069803A1 (en) Message exchange during parallel execution of processes in a high-performance computer
CN108028806A (zh) 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置
CN107426728B (zh) 高性能接入认证处理方法、系统、控制器设备、组网装置
TWI664572B (zh) 資訊處理傳輸裝置
CN110134491B (zh) 信息处理传输装置
US9104631B2 (en) Enhanced failover mechanism in a network virtualized environment
US11243800B2 (en) Efficient virtual machine memory monitoring with hyper-threading
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
WO2023080339A1 (ko) 가상머신의 메모리관리장치
Zha et al. EZPath: Expediting Container Network Traffic via Programmable Switches