Digitala Vetenskapliga Arkivet

Change search
Link to record
Permanent link

Direct link
Östlund, Johan
Publications (9 of 9) Show all publications
Östlund, J. (2016). Language Constructs for Safe Parallel Programming on Multi-Cores. (Doctoral dissertation). Uppsala: Acta Universitatis Upsaliensis
Open this publication in new window or tab >>Language Constructs for Safe Parallel Programming on Multi-Cores
2016 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

The last decade has seen the transition from single-core processors to multi-cores and many-cores. This move has by and large shifted the responsibility from chip manufacturers to programmers to keep up with ever-increasing expectations on performance. In the single-core era, improvements in hardware capacity could immediately be leveraged by an application: faster machine - faster program. In the age of the multi-cores, this is no longer the case. Programs must be written in specific ways to utilize available parallel hardware resources.

Programming language support for concurrent and parallel programming is poor in most popular object-oriented programming languages. Shared memory, threads and locks is the most common concurrency model provided. Threads and locks are hard to understand, error-prone and inflexible; they break encapsulation - the very foundation of the object-oriented approach. This makes it hard to break large complex problems into smaller pieces which can be solved independently and composed to make a whole. Ubiquitous parallelism and object-orientation, seemingly, do not match.

Actors, or active objects, have been proposed as a concurrency model better fit for object-oriented programming than threads and locks. Asynchronous message passing between actors each with a logical thread of control preserves encapsulation as objects themselves decide when messages are executed. Unfortunately most implementations of active objects do not prevent sharing of mutable objects across actors. Sharing, whether on purpose or by accident, exposes objects to multiple threads of control, destroying object encapsulation.

In this thesis we show techniques for compiler-enforced isolation of active objects, while allowing sharing and zero-copy communication of mutable data in the cases where it is safe to do so. We also show how the same techniques that enforce isolation can be utilized internal to an active object to allow data race-free parallel message processing and data race-free structured parallel computations. This overcomes the coarse-grained nature of active object parallelism without compromising safety.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2016. p. 105
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 1319
Keywords
Programming Languages, Type Systems, Ownership Types, Concurrency, Parallelism, Actors, Active Objects, Structured Parallelism, Data Race-Freedom, Immutability, Uniqueness
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-266795 (URN)978-91-554-9413-1 (ISBN)
Public defence
2016-01-18, 2446, ITC, Lägerhyddsvägen 2, hus 2, Uppsala, 13:00 (English)
Opponent
Supervisors
Projects
UPMARC
Available from: 2015-12-17 Created: 2015-11-10 Last updated: 2018-01-10Bibliographically approved
Castegren, E., Östlund, J. & Wrigstad, T. (2015). Refined Ownership: Fine-grained controlled internal sharing. In: Formal Methods for Multicore Programming: . Paper presented at 15th International School on Formal Methods for the Design of Computer, Communication, and Software Systems; SFM 2015, June 15–19, Bertinoro, Italy (pp. 179-210). , 9104
Open this publication in new window or tab >>Refined Ownership: Fine-grained controlled internal sharing
2015 (English)In: Formal Methods for Multicore Programming, 2015, Vol. 9104, p. 179-210Conference paper, Published paper (Refereed)
Abstract [en]

Ownership type systems give a strong notion of separation between aggregates. Objects belonging to different owners cannot be aliased, and thus a mutating operation internal to one object is guaranteed to be invisible to another. This naturally facilitates reasoning about correctness on a local scale, but also proves beneficial for coarse-grained parallelism as noninterference between statements touching different objects is easily established. For fine-grained parallelism, ownership types fall short as owner-based disjointness only allows separation of the innards of different aggregates, which is very coarse-grained. Concretely: ownership types can reason about the disjointness of two different data structures, but cannot reason about the internal structure or disjointness within the data structure, without resorting to static and overly constraining measures. For similar reasons, ownership fails to determine internal disjointness of external pointers to objects that share a common owner. In this paper, we introduce the novel notion of refined ownership which overcomes these limitations by allowing precise local reasoning about a group of objects even though they belong to the same external owner. Using refined ownership, we can statically check determinism of parallel operations on tree-shaped substructures of a data structure, including operations on values external to the structure, without imposing any non-local alias restrictions.

Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9104
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-266673 (URN)10.1007/978-3-319-18941-3_5 (DOI)000362511600005 ()978-3-319-18941-3 (ISBN)978-3-319-18940-6 (ISBN)
Conference
15th International School on Formal Methods for the Design of Computer, Communication, and Software Systems; SFM 2015, June 15–19, Bertinoro, Italy
Projects
UPMARCUPSCALE
Available from: 2015-05-07 Created: 2015-11-10 Last updated: 2019-12-13Bibliographically approved
Clarke, D., Östlund, J., Sergey, I. & Wrigstad, T. (2013). Ownership Types: A Survey. In: Dave Clarke, James Noble, Tobias Wrigstad (Ed.), Aliasing in Object-Oriented Programming: Types, Analysis, and Verification (pp. 15-58). Springer Berlin/Heidelberg
Open this publication in new window or tab >>Ownership Types: A Survey
2013 (English)In: Aliasing in Object-Oriented Programming: Types, Analysis, and Verification / [ed] Dave Clarke, James Noble, Tobias Wrigstad, Springer Berlin/Heidelberg, 2013, p. 15-58Chapter in book (Refereed)
Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 2013
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 7850
National Category
Computer Sciences
Research subject
Computing Science
Identifiers
urn:nbn:se:uu:diva-198781 (URN)10.1007/978-3-642-36946-9_3 (DOI)978-3-642-36945-2 (ISBN)
Projects
UPMARCStructured AliasingFacilitating Concurrent and Parallel Programming in Mainstream Programming Languages
Available from: 2013-04-24 Created: 2013-04-24 Last updated: 2018-01-11Bibliographically approved
Östlund, J. & Wrigstad, T. (2012). Multiple Aggregate Entry Points for Ownership Types. In: ECOOP 2012 – Object-Oriented Programming: . Paper presented at 26th European Conference on Object-Oriented Programming (pp. 156-180). Springer Berlin/Heidelberg
Open this publication in new window or tab >>Multiple Aggregate Entry Points for Ownership Types
2012 (English)In: ECOOP 2012 – Object-Oriented Programming, Springer Berlin/Heidelberg, 2012, p. 156-180Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 2012
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 7313
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-176660 (URN)10.1007/978-3-642-31057-7_8 (DOI)978-3-642-31056-0 (ISBN)
Conference
26th European Conference on Object-Oriented Programming
Projects
UPMARCFacilitating Concurrent and Parallel Programming in Mainstream Programming Languages
Available from: 2012-06-28 Created: 2012-06-21 Last updated: 2018-01-12Bibliographically approved
Östlund, J., Brandauer, S. & Wrigstad, T. (2012). The Joelle Programming Language: Evolving Java Programs Along Two Axes of Parallel Eval. Paper presented at 2012 International Workshop on Languages for the Multi-core Era.
Open this publication in new window or tab >>The Joelle Programming Language: Evolving Java Programs Along Two Axes of Parallel Eval
2012 (English)Conference paper, Oral presentation with published abstract (Other academic)
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-176661 (URN)
Conference
2012 International Workshop on Languages for the Multi-core Era
Projects
UPMARCFacilitating Concurrent and Parallel Programming in Mainstream Programming Languages
Available from: 2012-06-21 Created: 2012-06-21 Last updated: 2018-01-12
Wrigstad, T. & Östlund, J. (2011). Owners as Ombudsmen: Multiple Aggregate Entry Points for Ownership Types. Paper presented at International Workshop on Aliasing, Confinement and Ownership in object-oriented programming: IWACO at ECOOP.
Open this publication in new window or tab >>Owners as Ombudsmen: Multiple Aggregate Entry Points for Ownership Types
2011 (English)Conference paper, Published paper (Refereed)
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-153820 (URN)
Conference
International Workshop on Aliasing, Confinement and Ownership in object-oriented programming: IWACO at ECOOP
Projects
UPMARCFacilitating Concurrent and Parallel Programming in Mainstream Programming Languages
Funder
Swedish Research Council
Available from: 2011-05-19 Created: 2011-05-19 Last updated: 2018-01-12
Östlund, J. & Wrigstad, T. (2011). Regions as Owners: A Discussion on Ownership-based Effects in Practice. Paper presented at International Workshop on Aliasing, Confinement and Ownership in object-oriented programming: IWACO at ECOOP.
Open this publication in new window or tab >>Regions as Owners: A Discussion on Ownership-based Effects in Practice
2011 (English)Conference paper, Published paper (Refereed)
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-153821 (URN)
Conference
International Workshop on Aliasing, Confinement and Ownership in object-oriented programming: IWACO at ECOOP
Projects
UPMARCFacilitating Concurrent and Parallel Programming in Mainstream Programming Languages
Available from: 2011-05-19 Created: 2011-05-19 Last updated: 2018-01-12
Östlund, J. & Wrigstad, T. (2010). Welterweight Java. In: Jan Vitek (Ed.), Vitek, Jan (Ed.), Objects, Models, Components, Patterns. Paper presented at 48th International Conference, TOOLS 2010 (pp. 97-116). Berlin: Springer-Verlag
Open this publication in new window or tab >>Welterweight Java
2010 (English)In: Objects, Models, Components, Patterns / [ed] Vitek, Jan, Berlin: Springer-Verlag , 2010, p. 97-116Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Berlin: Springer-Verlag, 2010
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 6141
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-130897 (URN)10.1007/978-3-642-13953-6_6 (DOI)000286162000006 ()978-3-642-13952-9 (ISBN)
Conference
48th International Conference, TOOLS 2010
Projects
UPMARCFacilitating Concurrent and Parallel Programming in Mainstream Programming Languages
Available from: 2010-09-17 Created: 2010-09-17 Last updated: 2018-01-12Bibliographically approved
Östlund, J., Wrigstad, T., Clarke, D. & Åkerblom, B. (2008). Ownership, Uniqueness, and Immutability. Paper presented at 46th International Conference, TOOLS EUROPE 2008, Zurich, Switzerland, June 30 - July 4, 2008.. Lecture Notes in Business Information Processing
Open this publication in new window or tab >>Ownership, Uniqueness, and Immutability
2008 (English)In: Lecture Notes in Business Information Processing, ISSN 1865-1348, E-ISSN 1865-1356Article in journal (Refereed) Published
Abstract [en]

Programming in an object-oriented language demands a fine balance between flexibility and control. At one level, objects need to interact freely to achieve our implementation goals. At a higher level, architectural constraints that ensure the system can be understood by new developers and can evolve as requirements change must be met. To resolve this tension, researchers have developed type systems expressing ownership and behavioural restrictions such as immutability. This work reports on our consolidation of the resulting discoveries into a single programming language. Our language, Joe 3 , imposes little additional syntactic overhead, yet can encode powerful patterns such as fractional permissions and the reference modes of Flexible Alias Protection.

National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-266671 (URN)10.1007/978-3-540-69824-1_11 (DOI)
Conference
46th International Conference, TOOLS EUROPE 2008, Zurich, Switzerland, June 30 - July 4, 2008.
Available from: 2015-11-10 Created: 2015-11-10 Last updated: 2018-01-10
Organisations

Search in DiVA

Show all publications