Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add concurrency construct(s) #28

Open
lam2mo opened this issue Nov 29, 2018 · 0 comments
Open

Add concurrency construct(s) #28

lam2mo opened this issue Nov 29, 2018 · 0 comments
Labels
thesis Honors thesis scope

Comments

@lam2mo
Copy link
Member

lam2mo commented Nov 29, 2018

It is becoming increasingly common in high-performance computing to hear assertions that CS education programs need to integrate concurrency and parallelism patterns throughout the curriculum, including even the intro courses.

There is perhaps some merit to these assertions; imagine how much easier parallel computing would be if students learned from the very beginning how to identify and express dependency-free computation. Some argue that this mode of programming is actually more intuitive ("perform action X on every element in this collection" is often inherently dependency-free) and that we lose something by forcing everyone to learn a procedural paradigm first, linearizing the computation unnecessarily.

However, it's unclear how best to integrate concurrency into a language like Less-Java without overly complicating the language or introducing major safety issues. Perhaps it could mean adding something similar to futures, which are already implemented in Java and thus could be relatively easy to add to Less-Java. Perhaps it could involve adding annotations that the compiler converts to threaded code, like OpenMP. Or maybe it's adding new language keywords like spawn / sync in Cilk. This is open future work.

@lam2mo lam2mo added the thesis Honors thesis scope label Jan 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
thesis Honors thesis scope
Projects
None yet
Development

No branches or pull requests

2 participants