Cutting Out the Middleman: OS-Level Support for X10 Activities Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, Jens Schedel, Daniel Lohmann Chair for Programming Paradigms, Karlsruhe Institute of Technology (KIT) & System Software Group, University Erlangen-Nuremberg (FAU) 1 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 KIT – University of the State of Baden-Wuerttemberg and www.kit.edu Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities National Research Center of the Helmholtz Association
Ideal World X10 OS HW 2 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Ideal World X10 OS HW 2 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Ideal World X10 OS HW 2 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Current Practice X10 RT OS HW 3 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Current Practice X10 RT OS HW 3 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Current Practice X10 RT OS HW 3 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Current Practice s❧❡❡♣✭✶✵✵✮ X10 RT OS HW 3 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Current Practice s❧❡❡♣✭✶✵✵✮ X10 RT OS HW 3 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Workaround ❝❧❛ss ❘✉♥t✐♠❡ ④ ♣✉❜❧✐❝ st❛t✐❝ ❞❡❢ s❧❡❡♣✭♠✐❧❧✐s✿▲♦♥❣✮ ④ ❘✉♥t✐♠❡✳ ✐♥❝r❡❛s❡P❛r❛❧❧❡❧✐s♠ ✭✮❀ ❚❤r❡❛❞✳s❧❡❡♣✭♠✐❧❧✐s ✮❀ ❘✉♥t✐♠❡✳ ❞❡❝r❡❛s❡P❛r❛❧❧❡❧✐s♠ ✭✶✮❀ ⑥ ⑥ 4 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Workaround in Action X10 RT OS HW 5 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Workaround in Action s❧❡❡♣✭✶✵✵✮ X10 RT OS HW 5 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Workaround in Action s❧❡❡♣✭✶✵✵✮ X10 RT OS HW 5 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Workaround in Action s❧❡❡♣✭✶✵✵✮ X10 RT OS HW 5 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Workaround in Action s❧❡❡♣✭✶✵✵✮ X10 RT OS HW 5 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Motivation Problems with user-level scheduling approach: Complexity: interplay between two schedulers Performance: starting/stopping kernel-level threads is expensive Bugs: what if starting/stopping is forgotten? (e.g., user code) 6 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Motivation Problems with user-level scheduling approach: Complexity: interplay between two schedulers Performance: starting/stopping kernel-level threads is expensive Bugs: what if starting/stopping is forgotten? (e.g., user code) ⇒ Why not activity = OS-level primitive? 6 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Motivation Problems with user-level scheduling approach: Complexity: interplay between two schedulers Performance: starting/stopping kernel-level threads is expensive Bugs: what if starting/stopping is forgotten? (e.g., user code) ⇒ Why not activity = OS-level primitive? In this talk: How we directly mapped activities to OS primitives Context: many-core hardware architecture How this simplifies runtime system and OS Initial evaluation of system efficiency 6 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Tiled Many-Core Architectures Core Core Core Core Core Core Core Core Memory Memory Cache Cache 00 01 Core Core Core Core Core Core Core Core Memory Cache Memory Cache 10 11 7 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Tiled Many-Core Architectures Core Core Core Core Core Core Core Core Memory Memory Cache Cache 00 01 Core Core Core Core Core Core Core Core Memory Cache Memory Cache 10 11 7 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
OctoPOS OS designed for many-core PGAS architectures 8 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
OctoPOS OS designed for many-core PGAS architectures PGAS Architecture ⇒ One OS instance per place ⇒ Message passing 8 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
OctoPOS OS designed for many-core PGAS architectures Many-Core PGAS Architecture ⇒ Enough cores for exclusive ⇒ One OS instance per place allocation ⇒ Message passing ⇒ Cooperative scheduling instead of preemption 8 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
OctoPOS OS designed for many-core PGAS architectures Many-Core PGAS Architecture ⇒ Enough cores for exclusive ⇒ One OS instance per place allocation ⇒ Message passing ⇒ Cooperative scheduling instead of preemption User-level-like scheduler in the kernel Cooperative FIFO scheduling 8 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
OctoPOS OS designed for many-core PGAS architectures Many-Core PGAS Architecture ⇒ Enough cores for exclusive ⇒ One OS instance per place allocation ⇒ Message passing ⇒ Cooperative scheduling instead of preemption User-level-like scheduler in the kernel Cooperative FIFO scheduling ⇒ Very lightweight threads called i -lets 8 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Async X10 RT OS HW 9 June 14, 2015 Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, Christoph Erhardt, Benjamin Oechslein, IPD, CS4 Jens Schedel, Daniel Lohmann – Cutting Out the Middleman: OS-Level Support for X10 Activities
Recommend
More recommend