Hostname: page-component-77f85d65b8-grvzd Total loading time: 0 Render date: 2026-03-29T09:25:14.840Z Has data issue: false hasContentIssue false

Type-safe higher-order channels with channel locality1

Published online by Cambridge University Press:  01 January 2009

SUNGWOO PARK
Affiliation:
Department of Computer Science and Engineering, Pohang University of Science and Technology, Republic of Korea (e-mail: gla@postech.ac.kr, genilhs@postech.ac.kr)
HYEONSEUNG IM
Affiliation:
Department of Computer Science and Engineering, Pohang University of Science and Technology, Republic of Korea (e-mail: gla@postech.ac.kr, genilhs@postech.ac.kr)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

As a means of transmitting not only data but also code encapsulated within functions, higher-order channels provide an advanced form of task parallelism in parallel computations. In the presence of mutable references, however, they pose a safety problem because references may be transmitted to remote threads where they are no longer valid. This paper presents an ML-like parallel language with type-safe higher-order channels. By type safety, we mean that no value written to a channel contains references, or equivalently, that no reference escapes via a channel from the thread where it is created. The type system uses a typing judgment that is capable of deciding whether the value to which a term evaluates contains references or not. The use of such a typing judgment also makes it easy to achieve another desirable feature of channels, channel locality, that associates every channel with a unique thread for serving all values addressed to it. Our type system permits mutable references in sequential computations and also ensures that mutable references never interfere with parallel computations. Thus, it provides both flexibility in sequential programming and ease of implementing parallel computations.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2008
Submit a response

Discussions

No Discussions have been published for this article.