{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T09:30:14Z","timestamp":1775899814898,"version":"3.50.1"},"reference-count":10,"publisher":"Wiley","issue":"8","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6664,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1988,8]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>PRESTO is a programming system for writing object\u2010oriented parallel programs in a multiprocessor environment. PRESTO provides the programmer with a set of pre\u2010defined object types that simplify the construction of parallel programs. Examples of PRESTO objects are threads, which provide fine\u2010grained control over a program's execution, and synchronization objects, which allow simultaneously executing threads to co\u2010ordinate their activities.<\/jats:p><jats:p>The goals of PRESTO are to provide a programming environment that makes it easy to express concurrent algorithms, to do so efficiently, and to do so in a manner that invites extensions and modifications. The first two goals, which are the focus of this paper, allow a programmer to use parallelism in a way that is naturally suited to the problem at hand, rather than being constrained by the limitations of a particular underlying kernel or hardware architecture. The third goal is touched upon but not emphasized in this paper.<\/jats:p><jats:p>PRESTO is written in C++; it currently runs on the Sequent shared\u2010memory multiprocessor on top of the Dynix operating system. In this paper we describe the system model, its applicability to parallel programming, experiences with the initial implementation, and some early performance measurements.<\/jats:p>","DOI":"10.1002\/spe.4380180802","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:47:43Z","timestamp":1163796463000},"page":"713-732","source":"Crossref","is-referenced-by-count":129,"title":["PRESTO: A system for object\u2010oriented parallel programming"],"prefix":"10.1002","volume":"18","author":[{"given":"Brian N.","family":"Bershad","sequence":"first","affiliation":[]},{"given":"Edward D.","family":"Lazowska","sequence":"additional","affiliation":[]},{"given":"Henry M.","family":"Levy","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"The C++ Programming Language","author":"Stroustrup B.","year":"1986"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231536"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/35037.42182"},{"key":"e_1_2_1_5_2","doi-asserted-by":"crossref","unstructured":"B. N.Bershad E. D.Lazowska H. M.LevyandD.Wagner \u2018An open environment for building parallel programming systems\u2019 Proc. ACM SIGPLAN Symposium on Parallel Programming: Experience with Applications Languages and Systems July1988.","DOI":"10.1145\/62115.62117"},{"key":"e_1_2_1_6_2","volume-title":"Modula2 + Reference Manual","year":"1986"},{"key":"e_1_2_1_7_2","unstructured":"T. W.DoeppnerJr.andAlan J.Gebele \u2018C++ on a parallel machine\u2019 Report CS\u201087\u201326 Department of Computer Science Brown University November1987."},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/355620.361161"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/358818.358824"},{"key":"e_1_2_1_10_2","unstructured":"J. G.Mitchell W.MayburyandR.Sweet \u2018MESA language manual\u2019 Technical Report CSL\u201079\u20133 Xerox Palo Alto Research Center April1979."},{"key":"e_1_2_1_11_2","unstructured":"S. S.Thakkar P.GiffordandG.Fielland \u2018Balance: a shared memory multiprocessor\u2019 Proceedings 2nd International Conference on Supercomputing Santa Clara May1987."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380180802","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380180802","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,21]],"date-time":"2023-10-21T04:07:50Z","timestamp":1697861270000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380180802"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1988,8]]},"references-count":10,"journal-issue":{"issue":"8","published-print":{"date-parts":[[1988,8]]}},"alternative-id":["10.1002\/spe.4380180802"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380180802","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1988,8]]}}}