The emergence and rapid spread of interest and use of cloud computing as an accessible and expandable, as needed, computing facility on the go, has a very deep affinity to the proliferation of intelligent mobile devices including smartphones and tablets. Together, these technologies have the potential of not leaving anybody behind when it comes to computing applications whether small and personal or large and organizational, and regardless of geographic boundaries and economical conditions. However, many technical challenges still exist that are still delaying the realization of this dream with the responsiveness and quality needed from the user perspective.In this paper, we examine user requirements for access to the cloud through thin clients, handheld and mobile devices. In light of these requirements we characterize some of the needed research developments particularly in the area of device architecture. We present our work in exploring the cache design space for embedded processors using evolutionary techniques for mobile and thin client processors. We present a heuristic, evolutionary approach (genetic algorithm) to exploration that significantly cuts down on the time and resources, obtaining a near optimal design. We demonstrate the real-world utility of our tool-chain-"CERE" (pronounced SIRI) short for (CachE Recommendation Engine)-by rapidly and efficiently designing a cache hierarchy, which maximizes the performance of a web browser navigating to a set of popular websites running on a single ARM core. The goal is to improve the users' experience using web browsers. "CERE" made the right choices, and we were able to observe a 17.1% speedup going from the "best" hierarchy relative to the "worst" hierarchy. We will detail potential future directions as well.
KEYWORDSapplication specific systems, cache memories, design space exploration, genetic algorithms, mobile cloud computing, mobile systems, thin clients
INTRODUCTIONCloud computing has taken the industry by storm. The volume of the cloud computing market has grown to tens of billions of dollars. It has affected us all in many ways. It has impacted and influenced how we think of the Internet. Not only that but it affects the decision of owning hardware or software especially at the enterprise level. Therefore, first, we will discuss the basic definitions and service models for cloud computing. Then, we will explore mobile cloud computing (MCC). Mobile cloud computing relies heavily on web browsers and on thin clients.The research we are presenting in this paper is concerned with optimizing the processors powering mobile and thin clients. First, we will introduce the definitions of cloud computing and MCC. Second, we will show how web browsers are an extremely crucial and important application that processors should be optimized for to facilitate cloud computing and the special case of MCC.