Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jameela Al-Jaroodi

dblp:00/4055 · DBLP profile ↗
← Back
38ranked-venue papers
13as first author
1since 2021 · last 2022
0000-0003-1376-0052ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 12 · 7 first-authorComputer networks · 7 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 7 · 3 first-authorSoftware engineering, systems software and programming languages · 5 · 2 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 2Artificial intelligence and machine learning · 1 · 1 first-authorSecurity and privacy · 1Databases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 61% Parallel and multicore computing · 30% High-performance computing · 9%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
distributed programming
0.012003
Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems · IEEE Trans. Parallel Distributed Syst. 2003
Distributed systems
middleware
0.012003
Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems · IEEE Trans. Parallel Distributed Syst. 2003
Parallel and multicore computing
parallel programming models
0.012003
Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems · IEEE Trans. Parallel Distributed Syst. 2003
High-performance computing
cluster computing
0.012003
Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems · IEEE Trans. Parallel Distributed Syst. 2003

Methods — techniques the papers use, named apart from their topics

object-passing interface · 0.0java · 0.0
YearPublicationVenuePosition
2022 Automatic Detection of Interaction Errors
abstract
Interactive systems exchange a large amount of data with their environment where numerous events are triggered and a large number of actions are performed. Manually testing these interactions is time-consuming, labor-intensive, and costly. Furthermore, ensuring all possible interactions have been tested is essential, especially when safety is critical. Having an automated test oracle that captures the actual interactive behavior of the distributed system can considerably cut the effort of testing, especially in model-driven development that aims to shorten the time to market or when resources are limited. Test engineers can benefit from using automated oracles. These oracles overcome the challenges of automating the test oracle development activities, deriving oracle information, and developing oracle procedures.
Nader Kesserwan, Jameela Al-Jaroodi, Nader Mohamed, Imad Jawhar
SERA2
2019 An Architecture for Using Autonomous Underwater Vehicles in Wireless Sensor Networks for Underwater Pipeline Monitoring
abstract
In this paper, we focus on the use of linear sensor networks (LSNs) to monitor underwater pipelines. We propose the use of autonomous underwater vehicles (AUVs) to move along pipeline segments and collect data from the sensor nodes (SNs). Each AUV then delivers the collected data to the surface sink at the end of the corresponding LSN segment. In turn, the surface sink transmits the collected data to the network control center using any of the communication technologies that are available in the area such as WiMAX, cellular, and satellite. The use of AUVs for data collection offers considerable advantages including flexibility in SN placement, considerable energy savings and reduced interference, hidden terminal problems, and collisions. We also provide, different AUV movement strategies and analyze the effect of various network design parameters on network performance metrics such as packet delivery ratio and end-to-end delay.
Imad Jawhar, Nader Mohamed, Jameela Al-Jaroodi, Sheng Zhang 0001
IEEE Trans. Ind. Informatics3
2018 Distributed Cloud Cache
abstract
The concept of cache has proven to be very beneficial in various domains. This paper introduces the concept of distributed cloud cache. It uses small caches available on servers or fog nodes over the Internet to reduce the load on the data centers. Dual-direction parallel transfer is used to improve download times of new released software, games, and movies from the release point to the clients.
Jameela Al-Jaroodi, Nader Mohamed
CCGrid1
2018 Service-Oriented Architecture for Big Data Analytics in Smart Cities
abstract
A smart city has recently become an aspiration for many cities around the world. These cities are looking to apply the smart city concept to improve sustainability, quality of life for residents, and economic development. The smart city concept depends on employing a wide range of advanced technologies to improve the performance of various services and activities such as transportation, energy, healthcare, and education, while at the same time improve the city's resources utilization and initiate new business opportunities. One of the promising technologies to support such efforts is the big data technology. Effective and intelligent use of big data accumulated over time in various sectors can offer many advantages to enhance decision making in smart cities. In this paper we identify the different types of decision making processes involved in smart cities. Then we propose a service-oriented architecture to support big data analytics for decision making in smart cities. This architecture allows for integrating different technologies such as fog and cloud computing to support different types of analytics and decision-making operations needed to effectively utilize available big data. It provides different functions and capabilities to use big data and provide smart capabilities as services that the architecture supports. As a result, different big data applications will be able to access and use these services for varying proposes within the smart city.
Jameela Al-Jaroodi, Nader Mohamed
CCGrid1
2018 Fog-Enabled Multi-Robot Systems
abstract
Fog computing has been proposed lately to offer services for the Internet of Things (IoT) thus adding many benefits for IoT applications. These benefits include support for low latency needs, mobility, location awareness, scalability, and efficient integration with other systems such as cloud computing. This paper investigates employing fog computing to enable multi-robot system (MRS) applications. It also discusses the potential services fog computing can offer MRS applications. Furthermore, the paper categorizes MRS applications highlighting the different fog support needed for each category. The paper classifies MRSs into five different categories based on the type of network used. This classification simplifies the process of understanding the issues involved in utilizing fog computing for different types of MRS applications. This classification also helps identify the most suitable fog computing architecture for each category. Then the paper proposes a service- oriented platform to support fog-enabled MRS applications and discusses its prototype implementation.
Nader Mohamed, Jameela Al-Jaroodi, Imad Jawhar
ICFEC2
2018 Service-Oriented Big Data Analytics for Improving Buildings Energy Management in Smart Cities
abstract
This paper proposes a service-oriented architecture to support big data analytics for buildings energy management in smart cities. This architecture allows for seamlessly integrating different technologies such as fog and cloud computing to support different types of analytics and decision-making operations. These operations are needed to effectively utilize available big data for optimizing energy consumption for residential, industrial, and commercial buildings in smart cities. The paper also recognizes the different kinds of decision making processes required by a smart city to effectively manage energy efficiency for its buildings. These decision-making processes can be implemented and deployed as services in the proposed architecture.
Nader Mohamed, Jameela Al-Jaroodi, Imad Jawhar
IWCMC2
2017 Communication and networking of UAV-based systems: Classification and associated architectures
Imad Jawhar, Nader Mohamed, Jameela Al-Jaroodi, Dharma P. Agrawal, Sheng Zhang 0001
J. Netw. Comput. Appl.3
2016 Middleware to support cyber-physical systems
abstract
Middleware can provide novel and practical approaches for enhancing Cyber-Physical Systems (CPS) application development processes and operations. This paper discusses the roles and advantages of using middleware to build CPS. In addition, the paper studies the required features needed in such middleware for development and operation of CPS.
Nader Mohamed, Jameela Al-Jaroodi, Sanja Lazarova-Molnar, Imad Jawhar
IPCCC2
2016 Software Engineering Issues for Cyber-Physical Systems
abstract
Cyber-Physical Systems (CPS) provide many smart features for enhancing physical processes. These systems are designed with a set of distributed hardware, software, and network components that are embedded in physical systems and environments or attached to humans. Together they function seamlessly to offer specific functionalities or features that help enhance human lives, operations or environments. While different CPS components play important roles in a successful CPS development, the software plays the most important role among them. Acquiring and using high quality CPS components is the first step; however, designing and implementing the right software to integrate and use them effectively is essential. The software facilitates better interfaces, more control and adds smart services, high flexibility and many other added values and features to the CPS. However, software development for CPS is not a trivial task. This paper provides an overview discussion of software engineering issues related to the analysis, design, development, verification and validation, and quality assurance of CPS software. Some of these issues are related to the nature/type of CPS while others are related to the complexity of the software development processes used to develop such systems.
Jameela Al-Jaroodi, Nader Mohamed, Imad Jawhar, Sanja Lazarova-Molnar
SMARTCOMP1
2015 ssCloud: A Smart Storage for Distributed DaaS on the Cloud
abstract
DaaS (Data-as-a-Service) is an important model of the cloud. As DaaS provides clients with the ability to view and download data from cloud providers, the service must ensure speed, reliability, and cost effectiveness. An important research question pertaining to providing DaaS is how to improve the download time by using parallelism and efficient load balancing techniques. Other research focus on optimizing the storage consumed by the DaaS cloud providers. In this paper, we provide a solution to both issues by increasing the effectiveness of the dual direction load balancing technique using higher replication and optimizing the storage consumed by a smart self-controlled technique (ssCloud) for removing the redundant data from each cloud server. We elaborate on the design of this technique and how it can be applied on the cloud.
Klaithem Al Nuaimi, Nader Mohamed, Mariam Al Nuaimi, Jameela Al-Jaroodi
CLOUD4
2015 A Self-Optimized Storage for Distributed Data as a Service
abstract
In this paper we propose an automated partial replication storage technique for the cloud, which we call ssCloud. We associate this technique with a dual direction load balancing technique using the cloud servers. We show that by having dual direction load balancing and an automated partial replication of the storage we enhance the download speed from the cloud and reduce the cost of storing multiple replicas on multiple cloud nodes. This is done by having two cloud interfaces, one for the download requests from the clients (load balancing module) and another for uploading and splitting files into blocks and saving them on the different cloud servers (FileController). We also compare our approach to other similar approaches and describe the benefits of using ssCloud.
Klaithem Al Nuaimi, Nader Mohamed, Mariam Al Nuaimi, Jameela Al-Jaroodi
WETICE4
2015 MidCloud: an agent-based middleware for effective utilization of replicated Cloud services
abstract
Summary The Cloud relies heavily on resource replication to support the demands of the clients efficiently. Replicated Cloud services are distributed across large geographic areas and are accessible via the Internet. This paper describes MidCloud; an agent‐based middleware that provides Cloud clients with dynamic load balancing and fault tolerance mechanisms for effective utilization of replicated Cloud services and resources. MidCloud can be used to connect clients with multiple replicated Cloud services and provide fast and reliable service delivery from multiple replicas. Several approaches for load balancing and fault tolerance in distributed systems were introduced; however, they require prior knowledge of the environment's operating conditions and/or constant monitoring of these conditions at run time that allows the applications to adjust the load and redistribute the tasks when operational conditions change and when failures occur. These techniques work well when there is no high communication delay. Yet, this is not true in the Cloud, where data storage and computation servers are scattered all over the world and communication delays are usually very high. MidCloud deploys approaches to reduce the negative impact of high and dynamic delays on the Cloud servers and the Internet. The experimental results show the positive effects of using MidCloud to provide efficient load balancing and fault tolerance. Copyright © 2013 John Wiley & Sons, Ltd.
Nader Mohamed, Jameela Al-Jaroodi
Softw. Pract. Exp.2
2014 A Novel Approach for Dual-Direction Load Balancing and Storage Optimization in Cloud Services
abstract
In this paper, we present a novel approach to solve the cloud storage issues and provide a fast load balancing algorithm. Our approach is based on partitioning and dual direction download of the files by multiple cloud servers. Partitions of the files are also saved on the cloud rather than the full files, which provides a good optimization to the cloud storage usage. Partial replication is used in this algorithm to ensure the reliability and availability of the data. Our focus is to improve the performance and optimize the storage usage in providing the DaaS service of the cloud. This algorithm solves the problem of having to fully replicate very large data sets, which uses up a lot of precious space on the cloud servers. Reducing the space needed will help reduce the cost of providing such space. Moreover, performance is also increased since multiple cloud servers will collaborate to provide the data to cloud clients in a faster manner.
Klaithem Al Nuaimi, Nader Mohamed, Mariam Al Nuaimi, Jameela Al-Jaroodi
NCA4
2013 Using Mobile Sensors to Enhance Coverage in Linear Wireless Sensor Networks
abstract
One of the main challenges of using Linear Wireless Sensor Networks (LSN) is the reliability of the connections among the nodes. Faults in a few contiguous nodes may cause the creation of holes which will result in dividing the network into multiple disconnected segments. As a result, sensor nodes that are located between holes may not be able to deliver their sensed information which negativity affects the network sensing coverage. This paper develops two models to utilize mobile sensors to help recover from these faults and enhance coverage. The first model utilizes mobile sensors to cover the holes while the second model has the feature of reallocating previously deployed mobile sensors for best possible coverage. In both models, the added mobile nodes can provide additional sensing coverage as well as enable connectivity among disconnected segments in the LSN. Evaluations and comparisons between both models are provided. In addition, an analytical model for finding the expected number of mobile sensors needed for maintaining high coverage in a LSN with specific configurations is developed and validated.
Nader Mohamed, Jameela Al-Jaroodi, Imad Jawhar, Abdulla Eid
NCA2
2013 Reliability Analysis of Linear Wireless Sensor Networks
abstract
Linear Wireless Sensor networks (LSN) are used to monitor long linear critical structures such as pipelines, rivers, railroads, international borders, and high power transmission cables. Due to the importance of these structures, the LSN must be designed with high reliability considerations. However, one of the main challenges of LSN design is the connection reliability among the nodes. Unlike in Wireless Sensor Networks (WSN) in which sinks can be reached through multiple existing paths which can be utilized to enhance the reliability, very few alternate paths are usually available in LSNs. Faults in a few contiguous nodes in a LSN may cause the creation of holes. The nodes on either side of a hole may not be able to reach each other which will result in dividing the network into multiple disconnected segments. As a result, sensor nodes that are located between holes may not be able to deliver their sensed information which negatively affects the network's sensing coverage. In this paper, we develop an analytical model to provide reliability analysis for LSNs. We use this model to demonstrate two design applications. The first application is to use the model to create periodic maintenance schedules for existing LSNs while the second application is to use the model for new LSN designs and to compare different possible alternative designs.
Nader Mohamed, Jameela Al-Jaroodi, Imad Jawhar, Abdulla Eid
NCA2
2013 A dual-direction technique for fast file downloads with dynamic load balancing in the Cloud
Nader Mohamed, Jameela Al-Jaroodi, Abdulla Eid
J. Netw. Comput. Appl.2
2012 The Cloud: Requirements for a Better Service
abstract
Cloud computing has rapidly made it to the top of the list of considerations for IT strategies in various organizations. However, there are many unanswered requirements delaying the complete adoption of this paradigm. As a result, it is essential to identify the organizations' wish-list for Cloud services. In this paper, we define a set of requirements for Cloud computing. Then we highlight the level of importance of each one for government organizations' applications, large-scale computations, financial services, healthcare applications, and the online entertainment.
Eileen Marie Hanna, Nader Mohamed, Jameela Al-Jaroodi
CCGRID3
2012 Middleware is STILL Everywhere!!!
abstract
Middleware is STILL Everywhere!!!Middleware!It was somewhere, and now it is definitely everywhere.Over the past four decades, the term middleware has been tossed around, picked up, and investigated vigorously.Yet, if you ask 10 different people "what is middleware?"You will most likely get 10 different answers.It started as some additions on top of operating systems to facilitate complex applications development, moved to become data integration features, then became network applications facilitator, and eventually became an important component of every distributed environment, application, system and platform there is.To-date, if you examine any type of distributed system or application, you must find middleware or some middleware functionality involved.Although recently, the term itself is becoming less used, yet it still exists in mobile and sensor networks, service-oriented architectures, grid computing, cloud computing, online multi-player games, networked robotics, the Internet of things, and much more.So as is, middleware is really still everywhere and most likely will remain everywhere for a very long time. MIDDLEWARE THROUGH TIMEMiddleware as a term appeared in the early 1970s according to [1].The main mention refers to middleware as program enhancements to the operating system that help reduce the complexity of applications development and offer features not generally available in the operating system.However, until the early 1990s, the term was not much in use.During that period, several notions relevant to middleware started to appear although they did not carry the name middleware.There were several programming environments that provided abstractions and extended libraries to facilitate applications development, and these by essence belong to the middleware era.In addition, some tools and integration techniques were also used that resemble middleware functionality.Following the two-tier architecture that was becoming very common since the 1980s (the client/server model in particular), the three-tier architecture appeared.In this model, a third layer was introduced to facilitate the operations between the clients and the servers.This layer is usually referred to as the application server [2].However, examining the model closely shows that the middle layer is actually nothing but the middleware.One interesting view of middleware is that it is the slash in "client/server" [3].In the 1990s, another issue was becoming of high importance, and that is the integration between legacy systems that cannot be rebuilt or replaced with new applications designed and built using new programming models and tools.The two entities could not be merged, and it is usually very hard to match the interfaces among the two.Therefore, one notion of middleware appeared to help solve this problem.Data integration middleware such as Common Object Request Broker Architecture (CORBA) [4] came into the picture in 1991 and provided an excellent solution to the application integration and data interfacing issues.CORBA offered data and process integration standards agreed upon by more than 700 companies worldwide, which resulted in the first concrete definition of middleware.From that moment, the term middleware sort of got tangled with CORBA and for many years to follow, if anyone mentions middleware, everyone automatically think CORBA.However, as the years passed, several issues and limitations appeared, and CORBA was not able to offer solutions for all types of distributed applications.For example, CORBA works mainly on LAN and mostly within a single organization.In addition, it imposes high overhead on the applications, which makes it unsuitable for grid, cloud, wireless sensor network (WSN), and mobile applications.Thus, the term middleware started to get free of its association with CORBA and began to cover a much wider range of tools and services to support the different distributed computing requirements.
Jameela Al-Jaroodi, Nader Mohamed
Concurr. Comput. Pract. Exp.1
2012 Service-oriented middleware: A survey
Jameela Al-Jaroodi, Nader Mohamed
J. Netw. Comput. Appl.1
2011 DDFTP: Dual-Direction FTP
abstract
This paper proposes a fast and efficient concurrent technique for downloading large files from replicated FTP servers available over the Internet, Cloud and Grid environments. This technique utilizes the availability of replicated FTP servers to enhance file download times through concurrent downloads of file blocks. As this technique enhances the download time, it imposes no extra communication and processing overhead compared to other concurrent or parallel FTP techniques. The proposed technique requires no coordination between servers and relies on the features of TCP to provide an efficient load balancing mechanism among multiple heterogeneous replicated FTP servers. This mechanism also provides an efficient load balancing solution to efficiently utilize available network and server resources on dynamic environments with varying network and FTP servers' loads. The proposed technique has been implemented and evaluated and the results show considerable performance gains for file downloading compared to other approaches.
Jameela Al-Jaroodi, Nader Mohamed
CCGRID1
2011 Delay-Tolerant Dynamic Load Balancing
abstract
Several approaches for load balancing in distributed systems were introduced, however, most of them require prior knowledge of the environments operation conditions and/or constant monitoring of these conditions at run time. That allows the applications to adjust the load and redistribute the tasks when necessary. These techniques were designed with the assumption that there is no high communication delay in discovering dynamic load behaviors for the rescheduling purposes. This paper proposes a new delay-tolerant dynamic load balancing technique that can be used effectively for reducing the execution time of some distributed tasks while minimizing the control overhead. Such tasks include downloading large files from replicated FTP servers and executing parallel applications on multiple independent distributed servers. This technique we call DDOps (Dual Direction Operations) allows the parallel/distributed application to make use of available resources efficiently while not requiring any significant control overhead. In our approach, load balancing is automatically inherent from the technique. Since the tasks are handled from opposite directions, processing will continue until the workers meet at some point which indicates all tasks are done. Thus DDOps is most suitable for non-dedicated heterogeneous distributed environments where resources vary in specifications, locations, and operating conditions. The experimental results in file download and parallel computations all show how efficient DDOps is and how well it balances the load among the different tasks.
Nader Mohamed, Jameela Al-Jaroodi
HPCC2
2011 A survey on service-oriented middleware for wireless sensor networks
Nader Mohamed, Jameela Al-Jaroodi
Serv. Oriented Comput. Appl.2
2010 Monitoring Underwater PIpelines Using Sensor Networks
abstract
Sensor networks can be used to monitor and control pipeline infrastructures. This paper discusses and compares different sensor network architectures that can be used for monitoring underwater pipelines infrastructures. These architectures are underwater wired sensor networks, underwater acoustic wireless sensor networks, RF (Radio Frequency) wireless sensor networks, integrated wired/acoustic wireless sensor network, and integrated wired/RF wireless sensor networks. The reliability characteristics, advantages, and disadvantages among these architectures are discussed and compared. Three reliability factors are used for the discussion and comparison: the network connectivity, the continuity of power supply for the network, and the physical network security.
Nader Mohamed, Imad Jawhar, Jameela Al-Jaroodi, Liren Zhang
HPCC3
2010 Middleware trends for network applications
Jameela Al-Jaroodi, Nader Mohamed
J. Netw. Comput. Appl.1
2010 Self-configured multiple-network-interface socket
Nader Mohamed, Jameela Al-Jaroodi
J. Netw. Comput. Appl.2
2009 Middleware for RFID Systems: An Overview
abstract
RFID-based systems have started to play a significant role in the automation of many business processes such as ERP systems and object tracking. Several efforts were made within the research community and commercially to enhance the development, deployment and utilization process of these systems. More importantly some research has also started in developing ways to use middleware to facilitate these processes. In this paper we provide an overview of some of the research efforts done and highlight the main issues and challenges of using middleware for RFID systems.
Jameela Al-Jaroodi, Junaid Aziz, Nader Mohamed
COMPSAC (2)1
2008 A Framework for Generic Internet-Based Information Notification
abstract
This paper introduces a framework to monitor information available dynamically on the Internet through Web services, RSS feeds or dynamic HTML documents based on user defined criteria. The paper also discusses some of the open issues associated with the design and application of the framework. This framework is designed to deal with public information available on the Internet on a single or multiple Websites and from a single or multiple Web services as the information source of which the user can build his/her notification criteria. The Internet provides a huge amount of dynamic information such as news, stock information, current and expected weather status, currency exchange rates, etc. In the framework, all this public information is viewed as a set of Internet variables. These variables can be used to define the user monitoring and notification criteria. Based on the defined criteria, SMS and/or email notification messages can be generated and sent to the user notifying him/her whenever the criteria are met. A number of applications can benefit form this framework to provide real-time useful information to the user.
Nader Mohamed, Jameela Al-Jaroodi, Imad Jawhar
ICIW2
2007 Self-Configuration Techniques for MuniSocket
abstract
MuniSocket (multiple-network-interface socket) provides mechanisms to enhance the communication performance properties such as throughput, transfer time, and reliability by utilizing the existing multiple network interface cards between a pair of computers. Although the MuniSocket model has some communication performance advantages over the regular socket, it has a number of configuration complexity drawbacks including the complexity of establishing multiple channels and configuration for good communication performance under different connection scenarios. This paper develops some self- configuration techniques for MuniSocket. These techniques are self-discovery technique for discovering the existence of network interfaces and their performance properties, self-configuration for establishing channels over the interfaces, and self-optimization for selecting the best channels combinations for sending various message sizes. While these techniques enhance communication performance among computers, they also reduce the complexity of configuring MuniSocket and making its interface compatible with the regular TCP socket interface.
Nader Mohamed, Jameela Al-Jaroodi
DASC2
2006 Middleware issues and approaches for mobile ad hoc networks
abstract
Recently, there has been a growing interest on mobile ad hoc networks (MANET) that offer a broad spectrum of new applications. However, application development for mobile ad-hoc networks is not easy. Obviously, solving these issues for each application from scratch is not a feasible approach. Instead, developing middleware services to support the development of such applications is a novel approach that will offer many possibilities, and considerable flexibility for ad hoc networking. This survey shows the current state of the research, in this domain by presenting and discussing some representative middleware for wireless MANET. The selection of the studied methods tries to cover as many views of objective reflections as possible. We concentrate on discovering similarities and differences between the studied approaches by making comparisons, evaluation and appropriateness studies. Then we argue that most of the work is at fledging stage and there is still a long way to go for such middleware to fully meet MANET applications requirements. 1.
Salem Hadim, Jameela Al-Jaroodi, Nader Mohamed
CCNC2
2006 High-performance message striping over reliable transport protocols
Nader Mohamed, Jameela Al-Jaroodi, Hong Jiang 0001, David R. Swanson
J. Supercomput.2
2005 Object-Reuse for More Predictable Real-Time Java Behavior
abstract
One of the problems with Java for real-time systems is the unpredictable behavior of garbage collection (GC). GC introduces unexpected load and causes undesirable delays for real-time applications. In this paper, we propose a technique that reduces and bounds the memory requirements for real-time Java programs. This technique can eliminate or reduce the need for GC and allows for a more predictable execution behavior and efficient utilization of the available memory. A theoretical model is presented and a number of benchmark tests are used to evaluate this technique in PERC, NewMonics' real-time JVM, and Sun's JVM. The results show that in some cases GC can be eliminated and an application's execution time decreases and becomes more predictable.
Jameela Al-Jaroodi, Nader Mohamed
ISORC1
2005 JOPI: a Java object-passing interface
abstract
Abstract Recently there has been an increasing interest in developing parallel programming capabilities in Java to harness the vast resources available in clusters, grids and heterogeneous networked systems. In this paper, we introduce a Java object‐passing interface (JOPI) library. JOPI provides Java programmers with the necessary functionality to write object‐passing parallel programs in distributed heterogeneous systems. JOPI provides a Message Passing Interface (MPI)‐like interface that can be used to exchange objects among processes. In addition to the well‐known benefits of the object‐oriented development model, using objects to exchange information in JOPI is advantageous because it facilitates passing complex structures and enables the programmer to isolate the problem space from the parallelization problem. The run‐time environment for JOPI is portable, efficient and provides the necessary functionality to deploy and execute parallel Java programs. Experiments were conducted on a cluster system and a collection of heterogeneous platforms to measure JOPI's performance and compare it with MPI. The results show good performance gains using JOPI. Copyright © 2005 John Wiley & Sons, Ltd.
Jameela Al-Jaroodi, Nader Mohamed, Hong Jiang 0001, David R. Swanson
Concurr. Pract. Exp.1
2005 Dependable user-level socket over dual networks
Nader Mohamed, Jameela Al-Jaroodi, Hong Jiang 0001
J. Parallel Distributed Comput.2
2004 Flexible mechanisms for performance enhancements of cluster networks
abstract
Networks connecting nodes in clusters, in their current forms, stand to benefit from performance enhancements in measures such as latency, throughput, and reliability. Providing flexible mechanisms to enhance one or more of these performance properties will result in drastic improvements in applications performance on clusters. In this paper, we identify the different flexibility requirements for enhancing end-to-end cluster network properties. Flexible cluster-networking mechanisms utilizing multiple networks are introduced to enhance the network properties such as communication throughput and short message transfer time. In addition, it provides an easy and flexible way to extend the network capacities for specific nodes. The experimental evaluations reported here illustrate the advantages of the proposed model.
Nader Mohamed, Jameela Al-Jaroodi, Hong Jiang 0001
IPCCC2
2003 An Object-Passing Model for Parallel Programming
abstract
This paper introduces an object-passing model for parallel and distributed application development. Object passing provides the object-oriented application developer with powerful yet simple methods to distribute and exchange data and logic (objects) among processes. The model extends message passing, while exploiting the advantages of the object-oriented paradigm. In addition, the model provides a portable framework for executing applications across multiple platforms, thus effectively exploiting available resources to gain more processing power. A number of advantages aspects adopting object passing are discussed, in addition to highlighting the differences between message passing, represented by MPI, and object passing. Another advantage is the model's suitability for heterogeneous systems. When implemented with a portable language like Java, it can support parallel and distributed applications spanning a collection of heterogeneous platforms. This form of execution will eventually allow for full utilization of available resources for any given application written using this model.
Jameela Al-Jaroodi, Nader Mohamed
COMPSAC1
2003 I-MINDS: an application of multiagent system intelligence to on-line education
abstract
In this paper, we introduce I-MINDS (intelligent multiagent infrastructure for distributed system in education), an application based on multiagent system intelligence that enables students to actively participate in a virtual classroom rather than passively listening to lectures in a traditional virtual classroom. I-MINDS agents, equipped with intelligence of their own, and knowledge about other agents in the system, have the ability to collect information from and collaborate with other agents and serve their users (students and teachers alike) behind-the-scene effectively. Rather than being programmed to do a specific job, each agent has the ability to self-configure and learn based on the behavior of its users and its stored experience. To support the communication and collaboration process among the intelligent agents, we developed a hierarchical system that is more flexible and extensible.
Xuli Liu, XueSong Zhang, Leen-Kiat Soh, Jameela Al-Jaroodi, Hong Jiang 0001
SMC4
2003 Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems
abstract
We introduce a middleware infrastructure that provides software services for developing and deploying high-performance parallel programming models and distributed applications on clusters and networked heterogeneous systems. This middleware infrastructure utilizes distributed agents residing on the participating machines and communicating with one another to perform the required functions. An intensive study of the parallel programming models in Java has helped identify the common requirements for a runtime support environment, which we used to define the middleware functionality. A Java-based prototype, based on this architecture, has been developed along with a Java object-passing interface (JOPI) class library. Since this system is written completely in Java, it is portable and allows executing programs in parallel across multiple heterogeneous platforms. With the middleware infrastructure, users need not deal with the mechanisms of deploying and loading user classes on the heterogeneous system. Moreover, details of scheduling, controlling, monitoring, and executing user jobs are hidden, while the management of system resources is made transparent to the user. Such uniform services are essential for facilitating the development and deployment of scalable high-performance Java applications on clusters and heterogeneous systems. An initial deployment of a parallel Java programming model over a heterogeneous, distributed system shows good performance results. In addition, a framework for the agents' startup mechanism and organization is introduced to provide scalable deployment and communication among the agents.
Jameela Al-Jaroodi, Nader Mohamed, Hong Jiang 0001, David R. Swanson
IEEE Trans. Parallel Distributed Syst.1
2002 An Agent-Based Infrastructure for Parallel Java on Heterogeneous Cluster
abstract
In this paper, we introduce an agent-based infrastructure that provides software services and functions for developing and deploying high performance programming models and applications on clusters. A Java-based prototype, based on this architecture, has been developed. Since this system is written completely in Java, it is portable and allows executing programs in parallel across multiple heterogeneous platforms. With the agent-based infrastructure, users need not deal with the mechanisms of deploying and loading user classes on the heterogeneous cluster. Moreover, details of scheduling, controlling, monitoring, and executing user jobs are hidden. In addition, the management of system resources is made transparent to the user. Such uniform services, when rendered available in a ubiquitous manner, are essential for facilitating the development and deployment of scalable high performance Java applications on clusters. An initial deployment over a heterogeneous, distributed cluster results in significantly enhanced performance; absolute performance compared to C (MPI) improves with increased granularity of the algorithms.
Jameela Al-Jaroodi, Nader Mohamed, Hong Jiang 0001, David R. Swanson
CLUSTER1