English: Computer science is continuously evolving to improve the development of applications, and to allow programmers to achieve better productivity. One key issue to solve is the ability to reuse the work previously done by others. Currently, the same or similar algorithms and libraries are used in many different kinds of applications (weather forecasting, physics simulations, artificial intelligence decision, entertainment programs, etc.), despite of which kind of input data is processed and how. The increasing number of requirements are the reason that only one processor is not enough for high performance applications, forcing processors to cooperate in a synchronized way. For this, there is the idea of granularity: a program must be divided in subtasks (a.k.a. threads) which need to communicate to exchange data and coordinate their activities in order to distribute workload and improve application performance. So, when those requirements are high enough, migration of the application to a new and more powerful platform is needed, with inappreciable modifications or without any changes either in the algorithm or in the source code. Throughout this document we show how to achieve that goal and what techniques, resources and steps have been chosen around application and platform Kratos and Mare Nostrum would be the main elements in this document in order to help make easier future migrations, either with others applications on similar or different platforms.
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder. If you wish to make any use of the work not provided for in the law, please contact: email@example.com