N. Soundararajan, R. Karne, A. Wijesinha, Navid Ordouie, Hojin Chang
{"title":"Design Issues in Running a Web Server on Bare PC Multi-Core Architecture","authors":"N. Soundararajan, R. Karne, A. Wijesinha, Navid Ordouie, Hojin Chang","doi":"10.1109/COMPSAC48688.2020.0-195","DOIUrl":null,"url":null,"abstract":"We consider the design and implementation of a bare PC Web server with no OS or kernel running on a multicore architecture. Previous work has demonstrated initialization, loading and running of a 32-bit web server on a single core in a multicore configured system. The main design issues that need to be addressed are balancing the load, designing re-entrant code, enforcing concurrency control, partitioning network logic, sharing the network interface and designing multi-tasking execution. We describe a novel bare PC Web server architecture and design for addressing these issues. We also provide initial performance measurements that demonstrate the feasibility of this architecture and its implementation. It is shown that with this design and implementation, the main bottleneck impeding multicore parallelism is using a single Ethernet card in the system to handle multiple cores. This work serves as a basis for identifying issues that may exist in other networking and multicore configurations for a bare PC Web server","PeriodicalId":430098,"journal":{"name":"2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC)","volume":"205 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/COMPSAC48688.2020.0-195","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
We consider the design and implementation of a bare PC Web server with no OS or kernel running on a multicore architecture. Previous work has demonstrated initialization, loading and running of a 32-bit web server on a single core in a multicore configured system. The main design issues that need to be addressed are balancing the load, designing re-entrant code, enforcing concurrency control, partitioning network logic, sharing the network interface and designing multi-tasking execution. We describe a novel bare PC Web server architecture and design for addressing these issues. We also provide initial performance measurements that demonstrate the feasibility of this architecture and its implementation. It is shown that with this design and implementation, the main bottleneck impeding multicore parallelism is using a single Ethernet card in the system to handle multiple cores. This work serves as a basis for identifying issues that may exist in other networking and multicore configurations for a bare PC Web server