ABSTRACT
This article presents an ongoing work towards the extension of Sm@rtConfig -- a dynamic scheduling tool with self-tuning load-balancing functionalities targeting CPUs, GPUs, and other co-processors. This extension is based on the introduction of a high-level modeling phase for scientific applications. These applications are commonly complex, use (heterogeneous) high performance execution platforms, and require stakeholders of several disciplines. This way, it is important to raise abstraction level in earlier stages of development in order to deal with such complexities in an efficient way. By using Model-Driven Engineering, we propose an approach to transform Sm@rtConfig into a scientific framework comprising requirements engineering up to code generation for the target Processing Unit in which a task is scheduled at runtime. We advocate that our envisioned methodology facilitates not just cross-stakeholders development, but also replication of experimentations by the research community.
- J. Auerbach, D. F. Bacon, P. Cheng, and R. Rabbah. Lime: a java-compatible and synthesizable language for heterogeneous architectures. SIGPLAN Notices, 45(10):89--108, Oct. 2010. Google ScholarDigital Library
- C. Augonnet, S. Thibault, R. Namyst, and P.-A. Wacrenier. StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures. In Proceedings of the 15th International Euro-Par Conference, Lecture Notes in Computer Science, volume 5704 of Lecture Notes in Computer Science, pages 863--874. Springer, 2009. Google ScholarDigital Library
- V. R. Basili, J. C. Carver, D. Cruzes, L. M. Hochstein, J. K. Hollingsworth, F. Shull, and M. V. Zelkowitz. Understanding the high-performance-computing community: A software engineer's perspective. IEEE Software, 25(4):29--36, 2008. Google ScholarDigital Library
- L. Bass, P. Clements, and R. Kazman. Software architecture in practice. Addison-Wesley, 3rd edition, 2012. Google ScholarDigital Library
- T. Batista, A. Joolia, and G. Coulson. Managing dynamic reconfiguration in component-based systems. In R. Morrison and F. Oquendo, editors, Software Architecture, volume 3527 of Lecture Notes in Computer Science, pages 1--17. Springer Berlin Heidelberg, 2005. Google ScholarDigital Library
- A. P. D. Binotto, M. A. Wehrmeister, A. Kuijper, and C. E. Pereira. Sm@rtconfig: A context-aware runtime and tuning system using an aspect-oriented approach for data intensive engineering applications. Control Engineering Practice, 21(2):204--217, 2013.Google ScholarCross Ref
- K. Czarnecki, T. Bednasch, P. Unger, and U. Eisenecker. Generative programming for embedded software: An industrial experience report. In Generative Programming and Component Engineering, pages 156--172. Springer, 2002. Google ScholarDigital Library
- M. C. da Silva Jr, P. Guerra, and C. M. Rubira. A java component model for evolving software systems. In Proceedings of the International Conference on Automated Software Engineering, pages 327--330. IEEE, 2003.Google ScholarDigital Library
- G. F. Diamos and S. Yalamanchili. Harmony: an execution model and runtime for heterogeneous many core systems. In HPDC '08: Proceedings of the 17th international symposium on High performance distributed computing, pages 197--200, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- R. France and B. Rumpe. Model-driven development of complex software: A research roadmap. In Workshop on the Future of Software Engineering, pages 37--54. IEEE Computer Society, 2007. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: Abstraction and reuse of object-oriented design. Springer, 1993.Google ScholarCross Ref
- L. A. Gayard, C. M. F. Rubira, and P. A. de Castro Guerra. COSMOS*: a COmponent System MOdel for Software Architectures. Technical Report IC-08-04, Institute of Computing, University of Campinas, 2008.Google Scholar
- I. Gorton. Software quality attributes. In Essential Software Architecture, pages 23--38. Springer Berlin Heidelberg, 2011.Google ScholarCross Ref
- Ø. Haugen, B. Møller-Pedersen, J. Oldevik, G. K. Olsen, and A. Svendsen. Adding standardized variability to domain specific languages. In International Software Product Line Conference, pages 139--148. IEEE, 2008. Google ScholarDigital Library
- J. Hutchinson, M. Rouncefield, and J. Whittle. Model-driven engineering practices in industry. In Proceedings of the 33rd International Conference on Software Engineering, ICSE '11, pages 633--642, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- V. J. Jiménez, L. Vilanova, I. Gelado, M. Gil, G. Fursin, and N. Navarro. Predictive runtime code scheduling for heterogeneous architectures. In HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers, pages 19--33, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarDigital Library
- C. Kästner, S. Apel, and M. Kuhlemann. Granularity in software product lines. In Proceedings of the International conference on Software engineering, pages 311--320. ACM, 2008. Google ScholarDigital Library
- C. A. Mattmann, D. J. Crichton, N. Medvidovic, and S. Hughes. A software architecture-based framework for highly distributed and data intensive scientific applications. In Proceedings of the 28th international conference on Software engineering, ICSE '06, pages 721--730, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- U. T. Mello and L. Xu. Using {XML} to improve the productivity and robustness in application development in geosciences. Computers & Geosciences, 32(10):1646--1653, 2006. Google ScholarDigital Library
- M. Meswani, L. Carrington, D. Unat, A. Snavely, S. Baden, and S. Poole. Modeling and predicting application performance on hardware accelerators. In Workload Characterization (IISWC), 2011 IEEE International Symposium on, pages 73--73, 2011. Google ScholarDigital Library
- OMG. Unified modeling language, superstructure - version 2.4.1, 2011. Available from: URL:http://www.omg.org/spec/UML/2.4.1/. Last access: October of 2013.Google Scholar
- OMG. Common variability language, 2013. Available from: URL:http://www.omgwiki.org/variability/doku.php. Last access: October of 2013.Google Scholar
- A. Rashid, A. Moreira, and J. Araújo. Modularisation and composition of aspectual requirements. In Proceedings of the 2nd international conference on Aspect-oriented software development, pages 11--20, New York, NY, USA, 2003. ACM. Google ScholarDigital Library
- M. Schmidberger and B. Brügge. Need of software engineering methods for high performance computing applications. In International Symposium on Parallel and Distributed Computing, pages 40--46. IEEE, 2012. Google ScholarDigital Library
- J. Segal and C. Morris. Handbook of Research on Computational Science and Engineering: Theory and Practice, volume 1, chapter Developing Software for a Scientific Community:Some Challenges and Solutions, pages 177--196. IGI Global, USA, 2011.Google Scholar
- P. Sochos, M. Riebisch, and I. Philippow. The feature-architecture mapping (FArM) method for feature-oriented development of software product lines. In Proceedings of the International Symposium and Workshop on Engineering of Computer Based Systems, pages 9--pp. IEEE, 2006. Google ScholarDigital Library
- C. Szyperski. Component software: beyond object-oriented programming. Pearson Education, 2002. Google ScholarDigital Library
Index Terms
- A Self-tuning Scientific Framework using Model-Driven Engineering for Heterogeneous Execution Platforms
Recommendations
Model-driven engineering with domain-specific meta-modelling languages
Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many model-driven engineering (MDE) projects, several researchers have identified the need for domain-...
Model-driven engineering
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems ...
Type inference in flexible model-driven engineering using classification algorithms
Flexible or bottom-up model-driven engineering (MDE) is an emerging approach to domain and systems modelling. Domain experts, who have detailed domain knowledge, typically lack the technical expertise to transfer this knowledge using traditional MDE ...
Comments