Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where José Simão is active.

Publication


Featured researches published by José Simão.


Concurrency and Computation: Practice and Experience | 2012

A checkpointing-enabled and resource-aware Java Virtual Machine for efficient and robust e-Science applications in grid environments

José Simão; Tiago Garrochinho; Luís Veiga

Object‐oriented programming languages presently are the dominant paradigm of application development (e.g., Java, .NET). Lately, increasingly more Java applications have long (or very long) execution times and manipulate large amounts of data/information, gaining relevance in fields related with e‐Science (with Grid and Cloud computing). Significant examples include Chemistry, Computational Biology and Bio‐informatics, with many available Java‐based APIs (e.g., Neobio).


international middleware conference | 2013

Ditto - Deterministic Execution Replayability-as-a-Service for Java VM on Multiprocessors

João M. Silva; José Simão; Luís Veiga

Alongside the rise of multi-processor machines, concurrent programming models have grown to near ubiquity. Programs built on these models are prone to bugs with rare pre-conditions, arising from unanticipated interactions between parallel tasks. Replayers can be efficient on uni-processor machines, but struggle with unreasonable overhead on multi-processors, both concerning slowdown of the execution time and size of the replay log. We present Ditto, a deterministic replayer for concurrent JVM applications executed on multi-processor machines, using both state-of-the-art and novel techniques. The main contribution of Ditto is a novel pair of recording and replaying algorithms that: (a) serialize memory accesses at the instance field level, (b) employ partial transitive reduction and program-order pruning on-the-fly, (c) take advantage of TLO static analysis, escape analysis and JVM compiler optimizations to identify thread-local accesses, and (d) take advantage of a lightweight checkpoint mechanism to avoid large logs in long running applications with fine granularity interactions, and for faster replay to any point in execution. The results show that Ditto out-performs previous deterministic replayers targeted at Java programs.


international conference on move to meaningful internet systems | 2011

A 2 -VM: a cooperative Java VM with support for resource-awareness and cluster-wide thread scheduling

José Simão; João M. Lemos; Luís Veiga

In todays scenarios of large scale computing and service providing, the deployment of distributed infrastructures, namely computer clusters, is a very active research area. In recent years, the use ofGrids, Utility and Cloud Computing, shows that these are approaches with growing interest and applicability, as well as scientific and also commercial impact. This work presents the design and implementation issues of a cooperative VM for a distributed execution environment that is resource-aware and policy-driven. Nodes cooperate to achieve efficient management of the available local and global resources. We propose A2-VM, a cooperative cluster-enabled virtual execution environment for Java, to be deployed on Grid sites and Cloud data-centers that usually comprise a number of federated clusters. This cooperative VM has the ability to monitor base mechanisms (e.g. thread scheduling, garbage collection, memory or network consumptions) to assess applications performance and reconfigure these mechanisms in run-time according to previously defined resource allocation policies. We have designed this new cluster runtime by extending the Jikes Research Virtual Machine to incorporate resource awareness (namely resource consumption and restrictions), and extending the TerraCotta DSO with a distributed thread scheduling mechanism driven by policies that take into account resource utilization. In this paper we also discuss the cost of activating such mechanisms, focusing on the overhead of measuring/metering resource usage and performing policy evaluation.


OTM Confederated International Conferences "On the Move to Meaningful Internet Systems" | 2012

QoE-JVM: An Adaptive and Resource-Aware Java Runtime for Cloud Computing

José Simão; Luís Veiga

Cloud computing has been dominated by system-level virtual machines to enable the management of resources using a coarse grained approach, largely in a manner independent from the applications running on these infrastructures. However, in such environments, although different types of applications can be running, the resources are often delivered in a equal manner to each one, missing the opportunity to manage the available resources in a more efficient and application aware or driven way.


acm symposium on applied computing | 2013

A progress and profile-driven cloud-VM for resource-efficiency and fairness in e-science environments

José Simão; Luís Veiga

Cloud platforms are becoming more prevalent in e-Science domains, also by encompassing new and existing Grid infrastructures into private, hybrid and federated clouds. Clouds are inherently multi-tenant as they run workloads from multiple users. Resources can be initially allocated statically, as for job scheduling in Grids previously, but they can also be changed elastically at runtime to meet the application effective needs. When allocation needs to be changed, and resources are scarce, determining from which tenants resources must be taken to impact performance the least is a non-trivial and often deemed intractable problem, when outside the realm of batch scheduling and full prior information on resource requirements for each task, job, or VM instance. In this paper we present a Java-based platform for cloud environments that is able to: i) monitor application progress with different levels-of-detail and allowing full applications transparency, ii) account and restrict resource consumption, such as CPU and memory, by applications, and iii) A cluster-wide and decentralized algorithm that, based on the progress of different workloads, can redistribute resources among different JVM instances. Evaluation shows it is able to improve resource-efficiency and fairness across e-Science private cloud infrastructures, by managing and migrating resources according to the previous criteria, driven by a number of novel proposed metrics inspired in Economics.


adaptive and reflective middleware | 2012

A classification of middleware to support virtual machines adaptability in IaaS

José Simão; Luís Veiga

The Infrastructure-as-a-Service (IaaS) model makes extensive use of virtualization to achieve workload isolation and efficient resource management. In general, the underlying supporting technologies are virtual machines monitors (e.g. hypervisors). Isolation is a static mechanism, relying on hardware or operating system support to be enforced. On the other hand, resource management is dynamic and middleware must be employed to adapt VMs in order to fit their guests needs. Although the services offered by virtual machines are used or extended in several works in the literature, the community lacks an organized and integrated perspective of the mechanisms and strategies regarding resource management and focusing on adaptation, which would allow for an effective comparison on the quality of the adaptation process. In this work we review the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoff, and their main mechanisms for resource management. We frame them into the control loop (monitoring, decision and actuation). Furthermore, we propose a classification framework that, when applied to a group of systems, can help visually in determining their similarities and differences.


Proceedings of the 2nd International Workshop on Middleware for Pervasive Mobile and Embedded Computing | 2010

Jano: specification and enforcement of location privacy in mobile and pervasive environments

José Simão; Carlos Ribeiro; Paulo Ferreira; Luís Veiga

Today there are many location technologies providing people or object location. However, location privacy must be ensured before providing widely disseminated location services. Privacy rules may depend not only on the identity of the requester, but also on past events such as the places visited by the person being located, or previous location queries. So, location systems must support the specification and enforcement of security policies allowing users to specify when, how and who can know their location. We propose a middleware platform named Jano1 supporting both pull and push location requests while enforcing configurable security policies. Policies are specified using the Security Policy Language - SPL, facilitating the use of well known security models. In particular, Jano supports history-based policies applied to persons or objects location. The system was implemented with the integration of several location technologies (e.g. GPS, Bluetooth, etc.), and dealing with the heterogeneity aspects. It provides an interface that facilitates policy specification and has good performance.


Archive | 2017

A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and Challenges

José Simão; Luís Veiga

Cloud infrastructures make extensive use of hypervisors (e.g., Xen, ESX), containers (e.g., LXC), and high-level virtual machines (e.g., CLR, Java), broadly known as virtual machine (VM) technologies, to achieve workload isolation and efficient resource management. Isolation is a static mechanism that relies on hardware or operating system support to be enforced. Resource management is dynamic, and VMs must self-adapt or be instructed to adapt in order to fit their guest’s needs. In this chapter, we review the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoffs, and their main mechanisms for resource management. We frame them into an adaptation loop where sensors are monitored (e.g., page utilization), decisions are made (e.g., if-else rule, proportional-integral-derivative controller), and actions are performed using actuators (e.g., share page, change heap size). As is common in systems research, improvement in one property is accomplished at the expense of some other property. So, we present a taxonomy that, when applied to different solutions that use or augment virtual machines, can help visually in determining their similarities and differences. We analyze adaptability in virtual machines using three seemingly orthogonal characteristics: responsiveness (R), comprehensiveness (C), and intricateness (I). The process of classification and comparing systems is detailed, and several representative state of the art systems are evaluated.


Journal of Internet Services and Applications | 2012

Jano: location-privacy enforcement in mobile and pervasive environments through declarative policies

José Simão; Carlos Ribeiro; Paulo Ferreira; Luís Veiga

Today there are many location technologies providing people or object location. However, location privacy must be ensured before providing widely disseminated location services. Privacy rules may depend not only on the identity of the requester, but also on past events such as the places visited by the person being located, or previous location queries. Therefore, location systems must support the specification and enforcement of security policies (including history-based) allowing users to specify when, how and whom may know their location. We propose a middleware platform named Jano [Jano (or JANVS in latin) is the god of doors and gates in the roman mythology. He is usually depicted with two or four faces turning in opposite directions.] supporting both pull and push location requests while enforcing configurable security policies. Policies are specified using the Security Policy Language, SPL, facilitating the use of well-known security models. In particular, Jano supports history-based policies applied to person’s or object’s location. Jano implementation integrates several location technologies (e.g. GPS, RFID, etc.) and deals with the related heterogeneity aspects. It provides a web-based interface that facilitates policy specification, and its evaluation shows good performance, embodying a number of optimizations regarding bandwidth, process and storage savings.


OTM Confederated International Conferences "On the Move to Meaningful Internet Systems" | 2017

SmartGC: Online Memory Management Prediction for PaaS Cloud Models

José Simão; Sérgio Esteves; Luís Veiga

In Platform-as-a-Service clouds (public and private) an efficient resource management of several managed runtimes involves limiting the heap size of some VMs so that extra memory can be assigned to higher priority workloads. However, this should not be done in an application-oblivious way because performance degradation must be minimized. Also, each tenant tends to repeat the execution of applications with similar memory-usage patterns, giving opportunity to reuse parameters known to work well for a given workload. This paper presents SmartGC, a system to determine, at runtime, the best values for critical heap management parameters of JVMs. SmartGC comprises two main phases: (1) a training phase where it collects, with different heap resizing policies, representative execution metrics during the lifespan of a workload; and (2) an execution phase where it matches the execution parameters of new workloads against those of already seen workloads, and enforces the best heap resizing policy. Distinctly from other works, this is done without a previous analysis of unknown workloads. Using representative applications, we show that our approach can lead to memory savings, even when compared with a state-of-the-art virtual machine - OpenJDK. Furthermore, we show that we can predict with high accuracy the best heap policy in a relatively short period of time and with a negligible runtime overhead. Although we focus on the heap resizing, this same approach could also be used to adapt other parameters or even the GC algorithm.

Collaboration


Dive into the José Simão's collaboration.

Top Co-Authors

Avatar

Luís Veiga

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar

Paulo Ferreira

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar

Carlos Ribeiro

Technical University of Lisbon

View shared research outputs
Top Co-Authors

Avatar

Gonçalo Avelar

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Rodrigo Bruno

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar

Sérgio Esteves

Instituto Superior Técnico

View shared research outputs
Researchain Logo
Decentralizing Knowledge