Network


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

Hotspot


Dive into the research topics where Juan A. Colmenares is active.

Publication


Featured researches published by Juan A. Colmenares.


design automation conference | 2013

Tessellation: refactoring the OS around explicit resource containers with continuous adaptation

Juan A. Colmenares; Gage Eads; Steven A. Hofmeyr; Sarah Bird; Miquel Moreto; David Chou; Brian Gluzman; Eric Roman; Davide B. Bartolini; Nitesh Mor; Krste Asanovic; John Kubiatowicz

Adaptive Resource-Centric Computing (ARCC) enables a simultaneous mix of high-throughput parallel, real-time, and interactive applications through automatic discovery of the correct mix of resource assignments necessary to achieve application requirements. This approach, embodied in the Tessellation manycore operating system, distributes resources to QoS domains called cells. Tessellation separates global decisions about the allocation of resources to cells from application-specific scheduling of resources within cells. We examine the implementation of ARCC in the Tessellation OS, highlight Tessellations ability to provide predictable performance, and investigate the performance of Tessellation services within cells.


acm ifip usenix international conference on middleware | 2005

RTZen: highly predictable, real-time java middleware for distributed and embedded systems

Krishna Raman; Yue Zhang; Mark Panahi; Juan A. Colmenares; Raymond Klefstad; Trevor Harmon

Distributed real-time and embedded (DRE) applications possess stringent quality of service (QoS) requirements, such as predictability, latency, and throughput constraints. Real-Time CORBA, an open middleware standard, allows DRE applications to allocate, schedule, and control resources to ensure predictable end-to-end QoS. The Real-Time Specification for Java (RTSJ) has been developed to provide extensions to Java so that it can be used for real-time systems, in order to bring Javas advantages, such as portability and ease of use, to real-time applications. In this paper, we describe RTZen, an implementation of a Real-Time CORBA Object Request Broker (ORB), designed to comply with the restrictions imposed by RTSJ. RTZen is designed to eliminate the unpredictability caused by garbage collection and improper support for thread scheduling through the use of appropriate data structures, threading models, and memory scopes. RTZens architecture is also designed to hide the complexities of RTSJ related to distributed programming from the application developer. Empirical results show that RTZen is highly predictable and has acceptable performance. RTZen therefore demonstrates that Real-Time CORBA middleware implemented in real-time Java can meet stringent QoS requirements of DRE applications, while supporting safer, easier, cheaper, and faster development in real-time Java.


acm ifip usenix international conference on middleware | 2007

Compadres: a lightweight component middleware framework for composing distributed real-time embedded systems with real-time Java

Jie Hu; Shruti Gorappa; Juan A. Colmenares; Raymond Klefstad

Component frameworks simplify development of enterprise systems and enable code reuse, but most frameworks are unpredictable and hence unsuitable for embedded or real-time systems. Similarly, Java is increasingly being used to build embedded system software because of its portability and ease of use. The Real-Time Specification for Java (RTSJ) reduces the unpredictability in Java execution times by eliminating the need for a garbage collector. However, it introduces programming complexity that makes it difficult to build non-trivial applications. To bring the advantages of Java component development to DRE systems, while simultaneously simplifying the use of RTSJ, therefore, we have developed a new lightweight component model for RTSJ called Compadres. Compadres offers the following advantages: 1) Simple component definition in Java that abstracts away RTSJ memory management complexity; 2) System assembly from components by connecting ports that communicate through strongly-typed objects; 3) The Compadres compiler that automatically generates the scoped memory architecture for components, while the component framework handles communication between the components. To validate this work, we construct a non-trivial example application using the component framework, a simple real-time CORBA implementation. We then analyze the performance and efficiency of our component example versus a non-component example, RTZen. Our measurements show that our Compadres example built with components incurs only minor time overhead as compared to a comparable hand-coded example.


embedded and real-time computing systems and applications | 2005

Patterns and tools for achieving predictability and performance with real time Java

Krishna Raman; Yue Zhang; Mark Panahi; Juan A. Colmenares; Raymond Klefstad

The real-time specification for Java (RTSJ) offers the predictable memory management needed for real-time applications, while maintaining Java s advantages of portability and ease of use. RTSJs scoped memory allows object lifetimes to be controlled in groups, rather than individually as in C++. While easier than individual object lifetime management, scoped memory adds programming complexity from strict rules governing memory access across scopes. Moreover, memory leaks can potentially create jitter and reduce performance. To manage the complexities of RTSJs scoped memory, we developed patterns and tools for RTZen, a real-time CORBA Object Request Broker (ORB). We describe four new patterns that enable communication and coordination across scope boundaries, an otherwise difficult task in RTSJ. We then present IsoLeak, a runtime debugging tool that visualizes the scoped hierarchies of complex applications and locates memory leaks. Our empirical results show that RTZen is highly predictable and has acceptable performance. RTZen therefore demonstrates that the use of patterns and tools like IsoLeak can help applications meet the stringent QoS requirements of DRE applications, while supporting safer, easier, cheaper and faster development in real-time Java.


international symposium on object/component/service-oriented real-time distributed computing | 2007

Efficient Adaptations of the Non-Blocking Buffer for Event Message Communication between Real-Time Threads

K. H. (Kane) Kim; Juan A. Colmenares; Kee-Wook Rim

Enabling message communication among concurrent computing threads without relying on mutual exclusion (i.e., locking) is highly desirable in real-time computing systems. This paper presents a refined version of the Non-Blocking Buffer (NBB), which is a lock-free interaction mechanism that enables efficient event-message communication between a single producer thread and a single consumer thread. The NBB scheme presented here contains improvements over the previous version in two aspects. First, application designers now have the flexibility of choosing the consumers retry strategy for the case when the buffer is empty but the producer is in the middle of inserting an item. Second, in the refined version the producer inserts pointers to data items into the buffer whereas the consumer obtains copies of the items. This design is consistent with the fact that shared heap management must be avoided to enable fully lock-free interaction between the producer and the consumer. This paper also discusses the approaches based on the NBB mechanism for supporting all conceivable producer-consumer scenarios.


high performance distributed computing | 2011

Juggle: proactive load balancing on multicore computers

Steven A. Hofmeyr; Juan A. Colmenares; Costin Iancu; John Kubiatowicz

We investigate proactive dynamic load balancing on multicore systems, in which threads are continually migrated to reduce the impact of processor/thread mismatches to enhance the flexibility of the SPMD-style programming model, and enable SPMD applications to run efficiently in multiprogrammed environments. We present Juggle, a practical decentralized, user-space implementation of a proactive load balancer that emphasizes portability and usability. Juggle shows performance improvements of up to 80% over static balancing for UPC, OpenMP, and pthreads benchmarks. We analyze the impact of Juggle on parallel applications and derive lower bounds and approximations for thread completion times. We show that results from Juggle closely match theoretical predictions across a variety of architectures, including NUMA and hyper-threaded systems. We also show that Juggle is effective in multiprogrammed environments with unpredictable interference from unrelated external applications.


international symposium on object component service oriented real time distributed computing | 2005

Tool-based configuration of real-time CORBA middleware for embedded systems

Shruti Gorappa; Juan A. Colmenares; Hojjat Jafarpour; Raymond Klefstad

Real-time CORBA is a middleware standard that has demonstrated successes in developing distributed, realtime, and embedded (DRE) systems. Customizing real-time CORBA for an application can considerably reduce the size of the middleware and improve its performance. However, customizing middleware is an error-prone task and requires deep knowledge of the CORBA standard as well as the middleware design. This paper presents ZEN-kit, a graphical tool for customizing RTZen (an RTSJ-based implementation of real-time CORBA). This customization is achieved through modularizing the middleware so that features may be inserted or removed based on the DRE application requirements. This paper presents three main contributions: 1) it describes how real-time CORBA features can be modularized and configured in RTZen using components and aspects, 2) it provides a configuration strategy to customize real-time middleware to achieve low-footprint ORBs, and 3) it presents ZEN-kit, a graphical tool for composing customized real-time middleware.


real time technology and applications symposium | 2008

Measurement Techniques in a Hybrid Approach for Deriving Tight Execution-time Bounds of Program Segments in Fully-featured Processors

Juan A. Colmenares; Chansik Im; K. H. (Kane) Kim; Raymond Klefstad; Chae-Deok Lim

A hybrid approach to deriving tight execution-time bounds of program segments was proposed very recently. This approach symbiotically combines analytical and measurement-based methods to find a tight execution- time bound falling between the maximum measured execution time and an analytically derived loose bound. It also enables the estimation of the probability of the derived tight bound not being exceeded at run time. This paper provides a refined description of the hybrid approach and presents techniques for measuring the execution times of acyclic-path segments (APSs), which are possible execution sequences of instructions that contain no cycles and the basic units of analysis in the hybrid approach. In this paper, we also report the results of the hybrid approach in the derivation of tight execution-time bounds of three algorithms frequently used in the evaluation of WCET analysis techniques.


international embedded systems symposium | 2009

Experimental Evaluation of a Hybrid Approach for Deriving Service-Time Bounds of Methods in Real-Time Distributed Computing Objects

Juan A. Colmenares; Keon-Soo Kim; Doo-Hyun Kim

Use of hybrid approaches that symbiotically combine analysis and measurements for deriving high-confidence tight service-time bounds (STBs) in real-time distributed computing (RTDC) applications represents a promising research area. A hybrid approach of this type was recently proposed for deriving STBs for methods in object-oriented RTDC applications. The approach combines analytical and measurement-based techniques to find a tight STB falling between the maximum measured service time and an analytically derived loose STB. A curve-fitting technique is applied to relate the measured data to the loose bound and also enables the estimation of the probability of the chosen STB not being exceeded at run time. Experimental research for checking the feasibility and potential problems of this type of hybrid approaches has been scarce. In this paper we report on the results of one case study aimed for validating the curve-fitting based hybrid approach mentioned above. The RTDC application dealt with in this experimental work is a relatively simple distributed video streaming application, called Televideo.


international symposium on object/component/service-oriented real-time distributed computing | 2010

Real-Time-Component Based Software Architecture for QoS-adaptive Networked Multimedia Applications

Juan A. Colmenares; K. H. Kim; Zhen Zhang; Chae-Deok Lim; Kee-Wook Rim

Highly desirable types of networked multimedia applications should adapt to changes in the environmental conditions in which they operate, such as communication bandwidth, available memory, and battery lifetime, while providing the best possible quality of service (QoS). In this paper we present a software architecture that facilitates the development of adaptive networked multimedia applications which meet this requirement. The proposed software architecture is based on the Time-triggered Message-triggered Object (TMO) programming scheme and it is implemented as a thin layer on top of the TMO Support Middleware (TMOSM). The new layer, called the QoS Adaptation Support Layer (QASL), includes monitoring andruntime reconfiguration facilities that allow us to easily incorporate QoS-adaptation capabilities into TMO-based multimedia applications. In addition, we introduce a novel, practical approach for establishing the QoS configurations that guide the adaptive behavior of a networked multimedia application. A QoS configuration contains a set of parameters that specify the quality-related characteristics of the media streams which a receiver expects from a sender. We also present a strategy used in QASL for selecting, from a given set of QoS configurations, an optimal configuration by reflecting currently observed environmental conditions. Finally, the effectiveness of the QoS-adaptation mechanisms implemented in QASL is evaluated with the use of a heterogeneous network based multi-party videoconference application.

Collaboration


Dive into the Juan A. Colmenares's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Shruti Gorappa

University of California

View shared research outputs
Top Co-Authors

Avatar

Steven A. Hofmeyr

Lawrence Berkeley National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Mark Panahi

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Costin Iancu

Lawrence Berkeley National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Gage Eads

University of California

View shared research outputs
Top Co-Authors

Avatar

Krste Asanovic

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge