OS/R requirements Research Questions
1) Can you identify any specific conflicts you have had with an operating system in developing runtime features (e.g., tricks to get around scheduling decisions and or placement of threads or memory objects). The OS/R teams want to make sure that we are creating *new* obstacles :)
2) How do you expect to handle inter-operability with other runtime systems or tools? How much of this is the responsibility of the OS/R, what do you expect us to provide? How much can be addressed in the individual runtime systems?
3) What global information do you need access to? To what extent can this information be non-choherent (out of date) and/or (observably) inconsistent?
4) Have you thought about APIs for energy management, resilience, or deep memory hierarchies? If so, what do these APIs look like?
5) In essence, the goal of the runtime system is to bridge between hardware-focused abstractions supported by an OS and language-focused abstractions needed by a programming model. What are the critical resources that you need to manage in the runtime? Do you already have good abstractions for these resources?