1,999 research outputs found
Doctor of Philosophy in Computing
dissertationThe demand for main memory capacity has been increasing for many years and will continue to do so. In the past, Dynamic Random Access Memory (DRAM) process scaling has enabled this increase in memory capacity. Along with continued DRAM scaling, the emergence of new technologies like 3D-stacking, buffered Dual Inline Memory Modules (DIMMs), and crosspoint nonvolatile memory promise to continue this trend in the years ahead. However, these technologies will bring with them their own gamut of problems. In this dissertation, I look at the problems facing these technologies from a current delivery perspective. 3D-stacking increases memory capacity available per package, but the increased current requirement means that more pins on the package have to be now dedicated to provide Vdd/Vss, hence increasing cost. At the system level, using buffered DIMMs to increase the number of DRAM ranks increases the peak current requirements of the system if all the DRAM chips in the system are Refreshed simultaneously. Crosspoint memories promise to greatly increase bit densities but have long read latencies because of sneak currents in the cross-bar. In this dissertation, I provide architectural solutions to each of these problems. We observe that smart data placement by the architecture and the Operating System (OS) is a vital ingredient in all of these solutions. We thereby mitigate major bottlenecks in these technologies, hence enabling higher memory densities
Recommended from our members
Investigating design features of a computer-mediated communication system
Computer-mediated communication (CMC) is increasingly used in higher education, but it is not without problems. The effectiveness of CMC depends on many factors, including the characteristics of CMC systems themselves. The research reported here therefore aimed to investigate how an educational CMC system might be improved, in order to support learning more effectively.
The main context for the research was distance learning at the UK Open University (OU). A two-stage, mixed methods research approach was adopted. In the first stage, interviews and observations were carried out to explore the benefits and problems experienced by users. This revealed two major issues: information overload and lack of social presence. Information overload relates to users’ problems dealing with large numbers of messages. Social presence relates to the need for users to feel connected with each other.
The second stage investigated system features aimed at addressing these issues, implemented in a prototype computer conferencing system. Features to address overload included branched message threading and user recommendations. Features to address social presence were ‘résumés’ and instant messaging. These features were evaluated using questionnaires, with several cohorts of students in an OU course.
Students expressed approval of the features, although some features were not widely used. Students preferred branched threading to chronological threading because branching helped them to follow ‘conversations’. Students were uncomfortable recommending messages, feeling that the value of a message would vary between people. They were also uncomfortable using instant messaging to contact others whom they did not know. However, the awareness aspect of instant messaging provided a sense of solidarity.
The research demonstrated that the problems of overload and lack of social presence are significant, and each has social aspects which must be addressed. Students’ relationships with each other affect whether and how they use the features of CMC systems. We can conclude that particular attention must be paid to the social aspects of online communication, both when designing educational CMC systems and when considering how they are used. To maximise the benefits for learning, students need to feel comfortable with each other online, and there are few short cuts to achieving this
TURF for Teams: Considering Both the Team and I in the Work-Centered Design of Systems
Teams are an inherent part of many work domains, especially in the healthcare environment. Yet, most systems are often built with only the individual user in mind. How can we better incorporate the team, as a user, into the design of a system? By better understanding the team, through their user, task, representational, and functional needs, we can create more useful and helpful systems that match their work domain. For this research project, we utilize the TURF framework and expanded it further by also considering teams as a user, thus, creating the TURF for Teams framework. In addition, we chose to examine teams in the emergency department environment. We believe that designing a system with the team also fully incorporated and acknowledged in the work domain will be beneficial for supporting necessary team activities.
Using TURF for Teams, we first conducted an observational field study in the emergency department to get a better understanding of the users, teams, tasks, workload, and interactions. We then identified the need for team communications to be better supported, especially in the management of interruptions, and further categorized the interruptions by their function in order to design a team tool that could help team members better manage their interruptions by focusing on the necessary, or domain, types of interruptions and more easily disregarding the unnecessary, or overhead, types of interruptions.
We then administered some surveys and conducted a card sort and cognitive walkthrough with emergency clinician participants to help us better identify how to design interfaces for the team tool and simulation that would better match the needs of team communication behaviors observed and reported by emergency clinicians.
After designing and developing the team tool and simulation, we conducted an evaluation of this system by having emergency medicine, medicine, and informatics graduate student teams go through the system and utilize the team tool and simulation as a team. Though we had a small sample size, we found that emergency medicine teams found the team tool and simulation to be very usable and they reacted favorably to its potential in helping them better understand and manage their team communications.
In summary, we were able to utilize the TURF framework for incorporating teams into the design of systems, in this case a team communication tool and microworld simulation for the emergency department. Our findings suggest that TURF for Teams is a viable framework for designing useful and helpful team based systems for all work domains
Innovative learning in action (ILIA) issue five: Learning technologies in the curriculum
Consideration of the papers and snapshots in this edition of Innovative Learning in Action, focused on learning
technology, will provide the reader with insights into a range of excellent and innovative approaches to the application of learning technologies to enhance learning both in the classroom and at a distance. It also provides us with examples of how learning technologies can both stimulate and support partnership with staff and students and collaborative learning and working.
This edition is particularly timely given the aim of the University’s 2005-2008 Learning Technologies Implementation
Plan (LTIP), which is to enhance the quality of, and access to, learning, teaching and assessment by supporting
and developing the curriculum through the appropriate and effective use of learning technologies.
The LTIP is designed to help us to reach a situation where the effective use of appropriate learning technologies
becomes part of our normal teaching, research and enterprise activities, and enhances access to our programmes by all our students whether they are learning on campus, at a distance, or in the workplace.
The emphasis at the University of Salford has consistently been on the identification and creative application of the appropriate blends of ICT and traditional methods, shaped by pedagogical, rather than technological drivers, and acknowledging and reflecting different academic contexts
and professional and vocational requirements. We have some excellent examples of how this has been achieved here, ILIA once again providing us with an opportunity to reflect on practice and student learning, to share experience and hopefully to identify future areas for collaboration in a key area of curriculum development
An energy-aware scheduling approach for resource-intensive jobs using smart mobile devices as resource providers
The ever-growing adoption of smart mobile devices is a worldwide phenomenon that positions smart-phones and tablets as primary devices for communication and Internet access. In addition to this, the computing capabilities of such devices, often underutilized by their owners, are in continuous improvement. Today, smart mobile devices have multi-core CPUs, several gigabytes of RAM, and ability to communicate through several wireless networking technologies. These facts caught the attention of researchers who have proposed to leverage smart mobile devices aggregated computing capabilities for running resource intensive software. However, such idea is conditioned by key features, named singularities in the context of this thesis, that characterize resource provision with smart mobile devices.These are the ability of devices to change location (user mobility), the shared or non-dedicated nature of resources provided (lack of ownership) and the limited operation time given by the finite energy source (exhaustible resources).Existing proposals materializing this idea differ in the singularities combinations they target and the way they address each singularity, which make them suitable for distinct goals and resource exploitation opportunities. The latter are represented by real life situations where resources provided by groups of smart mobile devices can be exploited, which in turn are characterized by a social context and a networking support used to link and coordinate devices. The behavior of people in a given social context configure a special availability level of resources, while the underlying networking support imposes restrictionson how information flows, computational tasks are distributed and results are collected. The latter constitutes one fundamental difference of proposals mainly because each networking support ?i.e., ad-hoc and infrastructure based? has its own application scenarios. Aside from the singularities addressed and the networking support utilized, the weakest point of most of the proposals is their practical applicability. The performance achieved heavily relies on the accuracy with which task information, including execution time and/or energy required for execution, is provided to feed the resource allocator.The expanded usage of wireless communication infrastructure in public and private buildings, e.g., shoppings, work offices, university campuses and so on, constitutes a networking support that can be naturally re-utilized for leveraging smart mobile devices computational capabilities. In this context, this thesisproposal aims to contribute with an easy-to-implement scheduling approach for running CPU-bound applications on a cluster of smart mobile devices. The approach is aware of the finite nature of smart mobile devices energy, and it does not depend on tasks information to operate. By contrast, it allocatescomputational resources to incoming tasks using a node ranking-based strategy. The ranking weights nodes combining static and dynamic parameters, including benchmark results, battery level, number of queued tasks, among others. This node ranking-based task assignment, or first allocation phase, is complemented with a re-balancing phase using job stealing techniques. The second allocation phase is an aid to the unbalanced load provoked as consequence of the non-dedicated nature of smart mobile devices CPU usage, i.e., the effect of the owner interaction, tasks heterogeneity, and lack of up-to-dateand accurate information of remaining energy estimations. The evaluation of the scheduling approach is through an in-vitro simulation. A novel simulator which exploits energy consumption profiles of real smart mobile devices, as well as, fluctuating CPU usage built upon empirical models, derived from real users interaction data, is another major contribution. Tests that validate the simulation tool are provided and the approach is evaluated in scenarios varying the composition of nodes, tasks and nodes characteristics including different tasks arrival rates, tasks requirements and different levels of nodes resource utilization.Fil: Hirsch Jofré, Matías Eberardo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentin
MC^2S: a Mobile Component-based CrowdSensing framework
CrowdSensing often refers to sharing data collected by sensing devices with the aim of measure a phenomena of common interest. Within this thesis we will describe MC^2S, a novel Component-based framework suitable for the easy development of multiple, secure, portable, interopeable and concurrent MCS applications. The framework has been built in collaboration between University of Pisa and Trinity College Dublin, starting from September 2015. It exploits both Apache Felix implementation of OSGi framework specifications to ensure composite applications and Java environment to guarantee portability over an huge range of heterogeneous hardaware. However, even if MC^2S framework already offers several forefront capabilities, a lot of additional features may be introduced during the development of its next versions
Recommended from our members
An investigation into Indian apparel and textile supply chain networks
The activities of the Indian clothing industry supplying Western markets have been investigated, with particular reference to identifying where improvements could be made to supply chain management. Focus group discussions, case studies and questionnaire analysis established that long lead-times in pre-production areas were of great concern. However Indian apparel manufacturers were found to be more cost conscious and rather less conscious about the value of time in pre-production areas. It was found that pre-production activities constituted 73% of total manufacturing lead time and have high positive correlation (0.96) with total manufacturing lead time. Preproduction activities in India mainly consist of prototype making and pre-production sample development; of which approval processes were found to have a high correlation (0.63) with pre-production. A significant (more than 50%) time of all activities consist of waiting time, which has positive influence on total lead time (0.86)
Quantifying and Predicting the Influence of Execution Platform on Software Component Performance
The performance of software components depends on several factors, including the execution platform on which the software components run. To simplify cross-platform performance prediction in relocation and sizing scenarios, a novel approach is introduced in this thesis which separates the application performance profile from the platform performance profile. The approach is evaluated using transparent instrumentation of Java applications and with automated benchmarks for Java Virtual Machines
Task scheduling for application integration: A strategy for large volumes of data
Enterprise Application Integration is the research field, which provides methodologies, techniques and tools for modelling and implementing integration processes. An integration process performs the orchestration of a set of applications to keep them synchronised or to allow the creation of new features. It can be represented by a workflow composed of tasks and communication channels. Integration platforms are tools for the design and execution of integration processes in which, the runtime system is the component responsible for execution time of the tasks and the allocation of computational resources that perform them. The processing of a large volume of data, corresponding to execution of millions of tasks, can cause situations of overload, characterised by the accumulation of tasks in internal queues awaiting computational resources in the runtime systems, resulting in unacceptable response time for the external applications and users. Our research hypothesis is that the runtime systems of the integration platforms use simplistic heuristics for scheduling tasks, which does not allow them to maintain acceptable levels of performance when there are overload situations. In this research work, we developed (i) a representation for integration processes, (ii) a characterisation for your task schedules, (iii) a heuristic to deal with situations of overload, (iv) a mathematical model for a performance metric of the execution of integration processes and (v) a simulation tool for task scheduling heuristics. Our research results indicate that, in situations of overload, our heuristic promotes a balanced workload distribution and an increase in the performance of the execution of the integration processes.Integração de Aplicações Empresariais é o campo de pesquisa, que fornece metodologias, técnicas e ferramentas para modelar e implementar processos de integração. Um processo de integração executa a orquestração de um conjunto de aplicações para mantê-las sincronizadas ou para permitir a criação de novas funcionalidades. Ele pode ser representado por um fluxo de trabalho composto por tarefas e canais de comunicação.
Plataformas de integração são ferramentas para projetar e executar processos de integração, nas quais o motor de execução é o componente responsável pelo tempo de execução das tarefas e pela alocação de recursos computacionais que as executam. O processamento de um grande volume de dados, correspondendo a execução de milhões de tarefas, pode causar situações de sobrecarga, caracterizadas pelo acúmulo de tarefas em filas internas que aguardam recursos computacionais nos motores de execução, resultando em tempos de resposta inaceitáveis para aplicações e usuários externos.
Nossa hipótese de pesquisa é que os motores de execução das plataformas de integração usam heurísticas simplistas para agendar tarefas, o que não lhes permitem manter níveis aceitáveis de desempenho em situações de sobrecarga. Neste trabalho de pesquisa, desenvolvemos (i) uma representação para processos de integração, (ii) uma caracterização para seus agendamentos de tarefas, (iii) uma heurística para lidar com situações de sobrecarga, (iv) um modelo matemático para uma métrica de desempenho da execução de processos de integração e (v) uma ferramenta de simulação para heurísticas de agendamento de tarefas. Nossos resultados de pesquisa indicam que, em situações de sobrecarga, nossa heurística promove uma distribuição equilibrada da carga de trabalho e um aumento no desempenho da execução dos processos de integração
Energy-Efficient Software
The energy consumption of ICT is growing at an unprecedented pace. The main drivers for this growth are the widespread diffusion of mobile devices and the proliferation of datacenters, the most power-hungry IT facilities. In addition, it is predicted that the demand for ICT technologies and services will increase in the coming years. Finding solutions to decrease ICT energy footprint is and will be a top priority for researchers and professionals in the field.
As a matter of fact, hardware technology has substantially improved throughout the years: modern ICT devices are definitely more energy efficient than their predecessors, in terms of performance per watt. However, as recent studies show, these improvements are not effectively reducing the growth rate of ICT energy consumption. This suggests that these devices are not used in an energy-efficient way. Hence, we have to look at software.
Modern software applications are not designed and implemented with energy efficiency in mind. As hardware became more and more powerful (and cheaper), software developers were not concerned anymore with optimizing resource usage. Rather, they focused on providing additional features, adding layers of abstraction and complexity to their products. This ultimately resulted in bloated, slow software applications that waste hardware resources -- and consequently, energy.
In this dissertation, the relationship between software behavior and hardware energy consumption is explored in detail. For this purpose, the abstraction levels of software are traversed upwards, from source code to architectural components. Empirical research methods and evidence-based software engineering approaches serve as a basis.
First of all, this dissertation shows the relevance of software over energy consumption. Secondly, it gives examples of best practices and tactics that can be adopted to improve software energy efficiency, or design energy-efficient software from scratch. Finally, this knowledge is synthesized in a conceptual framework that gives the reader an overview of possible strategies for software energy efficiency, along with examples and suggestions for future research
- …