Treffer: Fluxional compiler : Seamless shift from development productivity to performance efficiency, in the case of real-time web applications ; Compilateur Fluxional : Passage transparent de la productivité de développement à l'efficacité des performances, dans le cas d'applications Web en temps réel

Title:
Fluxional compiler : Seamless shift from development productivity to performance efficiency, in the case of real-time web applications ; Compilateur Fluxional : Passage transparent de la productivité de développement à l'efficacité des performances, dans le cas d'applications Web en temps réel
Authors:
Contributors:
CITI Centre of Innovation in Telecommunications and Integration of services (CITI), Institut National des Sciences Appliquées de Lyon (INSA Lyon), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Université de Lyon-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria), Data on the Internet at the Core of the Economy (DICE), Centre Inria de l'Université Grenoble Alpes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-CITI Centre of Innovation in Telecommunications and Integration of services (CITI), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Université de Lyon-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National des Sciences Appliquées de Lyon (INSA Lyon), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Université de Lyon-Institut National des Sciences Appliquées (INSA), Université de Lyon, Stéphane Frénot
Source:
https://theses.hal.science/tel-01783938 ; Web. Université de Lyon, 2016. English. ⟨NNT : 2016LYSEI061⟩.
Publisher Information:
CCSD
Publication Year:
2016
Collection:
Université de Lyon: HAL
Document Type:
Dissertation doctoral or postdoctoral thesis
Language:
English
Relation:
NNT: 2016LYSEI061
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edsbas.15B9BAC7
Database:
BASE

Weitere Informationen

Most of the now popular web services started as small projects created by few individuals, and grew exponentially. Internet supports this growth because it extends the reach of our communications world wide, while reducing their latency. During its development, an application must grow exponentially, otherwise the risk is to be outpaced by the competition. In the beginning, it is important to verify quickly that the service can respond to the user needs: Fail fast. Languages like Ruby or Java became popular because they propose a productive approach to iterate quickly on user feedbacks. A web application that correctly responds to user needs can become viral. Eventually, the application needs to be efficient to cope with the traffic increase. But it is difficult for an application to be at once productive and efficient. When the user base becomes too important, it is often required to switch the development approach from productivity to efficiency. No platform conciliates these two objectives, so it implies to rewrite the application into an efficient execution model, such as a pipeline. It is a risk as it is a huge and uncertain amount of work. To avoid this risk, this thesis proposes to maintain the productive representation of an application with the efficient one. Javascript is a productive language with a significant community. It is the execution engine the most deployed, as it is present in every browser, and on some servers as well with Node.js. It is now considered as the main language of the web, ousting Ruby or Java. Moreover, the Javascript event-loop is similar to a pipeline. Both execution models process a stream of requests by chaining independent functions. Though, the event-loop supports the needs in development productivity with its global memory, while the pipeline representation allows an efficient execution by allowing parallelization. This thesis studies the possibility for an equivalence to transform an implementation from one representation to the other. With this equivalence, the ...