{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:37:08Z","timestamp":1750307828220,"version":"3.41.0"},"reference-count":32,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2008,5,1]],"date-time":"2008-05-01T00:00:00Z","timestamp":1209600000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGARCH Comput. Archit. News"],"published-print":{"date-parts":[[2008,5]]},"abstract":"<jats:p>Conventional programming models were designed to be used by expert programmers for programming for large-scale multiprocessors, distributed computational clusters, or specialized parallel machines. These models, therefore, are deemed either too difficult for an \"average\" programmer (who will be expected to do parallel programming in the many-core world) or too inefficient to use for many-core architectures [3]. Similarly, conventional execution models were designed for performance, not scalability.<\/jats:p>\n          <jats:p>To address the challenge of performance scalability for many-core architectures, we introduce Servo, a Service Oriented programming model that decomposes every program into a set of components (each with its own local memory, mutable state, and a program counter) that either request services or deliver services. Servo is characterized by the decoupling of logical communication mapping between program modules (or services) from physical communication mapping between modules. This allows the services to be migrated and replicated during execution. The proposed model also allows the granularity of data parallel operations to be changed dynamically. This allows runtime variation in the locking granularity which in turn enables higher write-parallelism. Finally, the models partition even data into services. This can significantly enhance locality and makes it possible to have superlinear speedups with increasing number of cores.<\/jats:p>\n          <jats:p>Our preliminary investigations demonstrate significant performance scalability advantages for Servo.<\/jats:p>","DOI":"10.1145\/1399972.1399979","type":"journal-article","created":{"date-parts":[[2008,8,5]],"date-time":"2008-08-05T13:35:10Z","timestamp":1217943310000},"page":"28-37","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Servo"],"prefix":"10.1145","volume":"36","author":[{"given":"Nicolas","family":"Zea","sequence":"first","affiliation":[{"name":"Coordinated Science Laboratory, Urbana, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"John","family":"Sartori","sequence":"additional","affiliation":[{"name":"Coordinated Science Laboratory, Urbana, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rakesh","family":"Kumar","sequence":"additional","affiliation":[{"name":"Coordinated Science Laboratory, Urbana, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,5]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"TejaNP*: A Software Platform for Network Processors: http:\/\/www.teja.com.  TejaNP*: A Software Platform for Network Processors: http:\/\/www.teja.com."},{"key":"e_1_2_1_2_1","first-page":"52","volume":"00","author":"High Productivity Language The Cascade","year":"2004","unstructured":"The Cascade High Productivity Language . HIPS , 00 : 52 -- 60 , 2004 . The Cascade High Productivity Language. HIPS, 00:52--60, 2004.","journal-title":"HIPS"},{"key":"e_1_2_1_3_1","volume-title":"ManyCore Computing Workshop","author":"In","year":"2007","unstructured":"In ManyCore Computing Workshop , June 2007 . In ManyCore Computing Workshop, June 2007."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/606272.606299"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/337292.337511"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1103845.1094852"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/863955.864000"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1229428.1229467"},{"key":"e_1_2_1_10_1","first-page":"10","volume-title":"OSDI'04: Proceedings of the 6th conference on Symposium on Opearting Systems Design &amp; Implementation","author":"Dean J.","year":"2004","unstructured":"J. Dean and S. Ghemawat . Mapreduce: simplified data processing on large clusters . In OSDI'04: Proceedings of the 6th conference on Symposium on Opearting Systems Design &amp; Implementation , pages 10 -- 10 , Berkeley, CA, USA , 2004 . USENIX Association. J. Dean and S. Ghemawat. Mapreduce: simplified data processing on large clusters. In OSDI'04: Proceedings of the 6th conference on Symposium on Opearting Systems Design &amp; Implementation, pages 10--10, Berkeley, CA, USA, 2004. USENIX Association."},{"key":"e_1_2_1_11_1","volume-title":"Service-Oriented Architecture: Concepts, Technology, and Design","author":"Erl T.","year":"2005","unstructured":"T. Erl . Service-Oriented Architecture: Concepts, Technology, and Design . Prentice Hall PTR , Upper Saddle River, NJ, USA, 2005 . T. Erl. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2005."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/274946.274957"},{"issue":"2","key":"e_1_2_1_13_1","first-page":"11","article-title":"Stageddb: Designing database servers for modern hardware","volume":"28","author":"Harizopoulos S.","year":"2005","unstructured":"S. Harizopoulos and A. Ailamaki . Stageddb: Designing database servers for modern hardware . IEEE Data Eng. Bull. , 28 ( 2 ): 11 -- 16 , 2005 . S. Harizopoulos and A. Ailamaki. Stageddb: Designing database servers for modern hardware. IEEE Data Eng. Bull., 28(2):11--16, 2005.","journal-title":"IEEE Data Eng. Bull."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1243418.1243424"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/782814.782825"},{"key":"e_1_2_1_16_1","unstructured":"Intel. http:\/\/www.intel.com\/research\/platform\/terascale\/ts_microprocessors.htm.  Intel. http:\/\/www.intel.com\/research\/platform\/terascale\/ts_microprocessors.htm."},{"key":"e_1_2_1_17_1","volume-title":"USA","author":"Joerg C. F.","year":"1995","unstructured":"C. F. Joerg . The cilk system for parallel multithreaded computing. PhD thesis, Cambridge, MA , USA , 1995 . C. F. Joerg. The cilk system for parallel multithreaded computing. PhD thesis, Cambridge, MA, USA, 1995."},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"G. L. S.\n      Jr\n    .\n  Parallel programming and parallel abstractions in fortress\n  . In M. Hagiya and P. Wadler editors FLOPS volume \n  3945\n   of \n  Lecture Notes in Computer Science page \n  1\n  . Springer 2006.  G. L. S. Jr. Parallel programming and parallel abstractions in fortress. In M. Hagiya and P. Wadler editors FLOPS volume 3945 of Lecture Notes in Computer Science page 1. Springer 2006.","DOI":"10.1007\/11737414_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/165854.165874"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/164747"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/384197.384222"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/832311.837393"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/509058.509090"},{"volume-title":"Real-time workshop user's guide.","author":"MathWorksInc.","key":"e_1_2_1_24_1","unstructured":"MathWorksInc. Real-time workshop user's guide. MathWorksInc. Real-time workshop user's guide."},{"key":"e_1_2_1_25_1","volume-title":"Inc.","author":"Nichols B.","year":"1996","unstructured":"B. Nichols , D. Buttlar , and J. P. Farrell . Pthreads programming. O'Reilly &amp; Associates , Inc. , Sebastopol, CA, USA , 1996 . B. Nichols, D. Buttlar, and J. P. Farrell. Pthreads programming. O'Reilly &amp; Associates, Inc., Sebastopol, CA, USA, 1996."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/165123.165158"},{"key":"e_1_2_1_27_1","volume-title":"MPI-The Complete Reference: The MPI Core","author":"Snir M.","year":"1998","unstructured":"M. Snir and S. Otto . MPI-The Complete Reference: The MPI Core . MIT Press , Cambridge, MA, USA , 1998 . M. Snir and S. Otto. MPI-The Complete Reference: The MPI Core. MIT Press, Cambridge, MA, USA, 1998."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/942582.807998"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/647478.727935"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1229428.1229433"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502057"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028893.1028907"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/232302.232303"}],"container-title":["ACM SIGARCH Computer Architecture News"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1399972.1399979","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1399972.1399979","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:57:53Z","timestamp":1750255073000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1399972.1399979"}},"subtitle":["a programming model for many-core computing"],"short-title":[],"issued":{"date-parts":[[2008,5]]},"references-count":32,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2008,5]]}},"alternative-id":["10.1145\/1399972.1399979"],"URL":"https:\/\/doi.org\/10.1145\/1399972.1399979","relation":{},"ISSN":["0163-5964"],"issn-type":[{"type":"print","value":"0163-5964"}],"subject":[],"published":{"date-parts":[[2008,5]]},"assertion":[{"value":"2008-05-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}