Título: On the detection and prevention of consistency anomalies in multi-tier and cloud platforms
Autores: Zellag, Kamal
Fecha: 2013
Publicador: McGill University - MCGILL
Fuente:
Tipo: Electronic Thesis or Dissertation
Tema: Applied Sciences - Computer Science
Descripción: Modern information systems, consisting of an application server tier and a database tier, offer several consistency guarantees for accessing data where strong consistency is traded for better performance or higher availability. However, it is often not clear how an application is affected when it runs under a low level of consistency. In fact, current application designers have basically no tools that would help them to get a feeling of which and how many inconsistencies actually occur during run-time of their particular application. In this thesis, we present new approaches to detect and quantify consistency anomalies for arbitrary multi-tier or cloud applications accessing various types of data stores in transactional or non-transactional contexts. We do not require any knowledge on the business logic of the studied application nor on its selected consistency guarantees. Our detection approaches can be off-line or on-line and for each detected anomaly, we identify exactly the requests and data items involved. Furthermore, we classify the detected anomalies into patterns showing the business methods involved as well as their occurrence frequency. Our approaches can help designers to either choose consistency guarantees where the anomalies do not occur or to change the application design to avoid the anomalies. Furthermore, we provide an option in which future anomalies are dynamically prevented should a certain threshold of anomalies occur. To test the effectiveness of our approaches, we have conducted a set of experiments analyzing the occurrence of anomalies in the benchmarks RUBiS and SPECj Enterprise 2010 under the multi-tier platform JavaEE and the benchmarks JMeter andYahoo! YCSB under the cloud platforms Google App Engine and Cassandra, respectively.
Les systèmes d'information modernes, consistant d'un niveau de serveur d'applications et d'un niveau de base de données, offrent plusieurs guaranties de consistance pour accéder à des données où la consistance est compromise pour une meilleure performance ou pour une haute disponibilité. Cependant, il n'est souvent pas claire comment une application est affectée lorsqu'elle s'exécute sous un bas niveau de consistance. En effet, les concepteurs d'applications actuelles ne disposent pas d'outils qui leur permettent d'avoir un de idée sur quelles inconsistances ainsi que sur leur nombre d'occurence during l'execution de leur application particulière. Dans cette thèse, nous présentons de nouvelles approches pour détecter et quantifier les anomalies de consistance pour des applications arbitraires multi-niveaux ou cloud accédant différent types de bases de données sous des contextes transactionels ou non-transactionels. Nous ne nécessitons aucune connaissance sur la logique de l'application étudiée ni sur ses guaranties de consistance. Notre approche de détection peut êetre hors ligne ou en ligne et pour chaque anomalie détectée, nous identifions exactement les requêetes et les éléments de données impliquées. En outre, nous classons les anomalies détectées en des patrons d'anomalies montrant les méthodes impliquées ainsi que leur fréquence d'occurrence. Notre approche peut aider les concepteurs à choisir soit des garanties de consistance sous lesquelles les anomalies ne se produisent pas ou modifier la conception de leur applications afin d'éviter les anomalies. En outre, nous fournissons une option sous laquelle les futures anomalies sont dynamiquement évitées si un certain seuil d'anomalies est dépassé. Pour tester l'efficacité de nos approches, nous avons mené une série d'expériences analysant l'occurrence d'anomalies pour les bancs d'essai RUBiS et SPECj Enterprise 2010 sous la plate-forme multi-niveaux JavaEE ainsi que pour les bancs d'essai JMeter etYahoo! YCSB respectivement sous les plates-formes cloud Google App Engine et Cassandra.
Idioma: en