Dilma Da Silva

dblp:03/6463 · also Dilma M. Da Silva · DBLP profile ↗
← Back
52ranked-venue papers
2as first author
24since 2021 · last 2026
0000-0001-6538-2888ORCID · verified

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

Systems, architecture and hardware · 25 · 5 since 2021Human-computer interaction and ubiquitous computing · 18 · 1 first-author · 16 since 2021Software engineering, systems software and programming languages · 4 · 1 first-author · 2 since 2021Computer networks · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 Totoro+: An Adaptive and Scalable Edge Federated Learning System
abstract
Federated Learning (FL) is an emerging distributed machine learning (ML) technique that enables in-situ model training and inference on decentralized edge devices. We propose Totoro$^+$, a novel scalable FL system that enables massive FL applications to run simultaneously on edge networks. The key insight is to explore a distributed hash table (DHT)-based peer-to-peer (P2P) model to re-architect the centralized FL system design into a fully decentralized one. In contrast to previous studies where many FL applications shared one centralized parameter server, Totoro$^+$assigns a dedicated parameter server to each application. Any edge node can act as any application's coordinator, aggregator, client selector, worker (participant device), or any combination of the above, thereby radically improving scalability and adaptivity. Totoro$^+$introduces three innovations to realize its design: a locality-aware P2P multi-ring structure, a publish/subscribe-based forest abstraction, and a game-theoretic path planning model with a guarantee of an$\epsilon$-approximate Nash equilibrium. Real-world experiments on 500 Amazon EC2 servers show that Totoro$^+$scales gracefully with the number of FL applications and$N$edge nodes speeds up the total training time by$1.2\times -14.0\times$, achieves$\mathcal {O}(\log N)$hops for model dissemination and gradient aggregation with millions of nodes, and efficiently adapts to the practical edge networks and churns.
Cheng-Wei Ching, Xin Chen 0084, Taehwan Kim 0012, Jian-Jhih Kuo, Dilma Da Silva, Liting Hu
IEEE Trans. Parallel Distributed Syst.5
2025 Ekko: Fully Decentralized Scheduling for Serverless Edge Computing
abstract
While originally designed for the cloud, the benefits of the serverless paradigm are vital in Edge/Fog computing environments. In this paper, we propose Ekko, a novel decentralized edge serverless scheduling system, which enables a large number of serverless applications to run simultaneously at the edge through the Functionas-a-Service (FaaS) model. The key insight is to re-architect the common centralized or hierarchical scheduling systems into a fully decentralized one by using the distributed hash table (DHT) based peer-to-peer (P2P) model, in which many distributed schedulers operate autonomously without any centralized state. In sharp contrast to existing studies, any edge node in our system can act as a scheduler, a function worker, a query forwarder, or a storage node, and flexibly switch between these roles, thereby significantly improving scalability and adaptivity. Ekko introduces three design innovations: a boundary-aware P2P organization, distributed shadow schedulers with a keychain scheduling algorithm, and a distributed locality-aware bucket image store. Our evaluation on 500 Amazon EC2 nodes shows that, compared to the state-of-the-art, Ekko reduces the 90-th percentile tail queue wait time by up to 96.6 %, the scheduling time by up to 38.5 %, and the total deployment time by up to 89.5 %, while efficiently scaling to millions of function invocation requests on thousands of edge nodes.
Xin Chen 0084, Manoj Prabhakar Paidiparthy, Dilma Da Silva, Liting Hu
IPDPS3
2025 Teaching Algorithms to Indigenous Students of Brazil's Amazon
abstract
The Constitution of Brazil and its subsequent laws have established various rights and protections for Indigenous peoples, among them the right to Indigenous schools where their culture and native language must be taught, learned, and preserved as something alive and essential to their well-being. Brazil's National Digital Education Policy, which mandates the teaching of computing in K-12 education, is a recent development not yet implemented in indigenous schools, where access to computers and the Internet is still quite limited. To promote the inclusion of indigenous populations in higher education, the University of Brasília (UnB), in collaboration with Brazil's National Foundation for Indigenous Peoples, has created an admission pathway dedicated to students from these populations. In 2022, UNB's Computer Science Department welcomed its first three Indigenous students from the Ticuna community in the Amazon region of Brazil. The Ticuna people represent the largest indigenous ethnic group in Brazil. Ticuna students, computer science professors, and computer science students at UnB have collaborated to address the gap in the K-12 teaching of computing in Ticuna communities. This work describes the materials created by the indigenous students for teaching computing in their communities within the context of their culture and language.
Maristela Holanda, Edison Ishikawa, Dilma Da Silva
SIGCSE (2)3
2025 AgileDART: An Agile and Scalable Edge Stream Processing Engine
abstract
Edge applications generate a large influx of sensor data on massive scales, and these massive data streams must be processed shortly to derive actionable intelligence. However, traditional data processing systems are not well-suited for these edge applications as they often do not scale well with a large number of concurrent stream queries, do not support low-latency processing under limited edge computing resources, and do not adapt to the level of heterogeneity and dynamicity commonly present in edge computing environments. As such, we present AgileDart, an agile and scalable edge stream processing engine that enables fast stream processing of many concurrently running low-latency edge applications' queries at scale in dynamic, heterogeneous edge environments. The novelty of our work lies in a dynamic dataflow abstraction that leverages distributed hash table-based peer-to-peer overlay networks to autonomously place, chain, and scale stream operators to reduce query latencies, adapt to workload variations, and recover from failures and a bandit-based path planning model that re-plans the data shuffling paths to adapt to unreliable and heterogeneous edge networks. We show that AgileDart outperforms Storm and EdgeWise on query latency and significantly improves scalability and adaptability when processing many real-world edge stream applications' queries.
Cheng-Wei Ching, Xin Chen 0084, Chaeeun Kim, Tongze Wang, Dong Chen 0025, Dilma Da Silva, Liting Hu
IEEE Trans. Mob. Comput.6
2024 Totoro: A Scalable Federated Learning Engine for the Edge
abstract
Federated Learning (FL) is an emerging distributed machine learning (ML) technique that enables in-situ model training and inference on decentralized edge devices. We propose Totoro, a novel scalable FL engine, that enables massive FL applications to run simultaneously on edge networks. The key insight is to explore a distributed hash table (DHT)-based peer-to-peer (P2P) model to re-architect the centralized FL system design into a fully decentralized one. In contrast to previous studies where many FL applications shared one centralized parameter server, Totoro assigns a dedicated parameter server to each individual application. Any edge node can act as any application's coordinator, aggregator, client selector, worker (participant device), or any combination of the above, thereby radically improving scalability and adaptivity. Totoro introduces three innovations to realize its design: a locality-aware P2P multi-ring structure, a publish/subscribe-based forest abstraction, and a bandit-based exploitation-exploration path planning model. Real-world experiments on 500 Amazon EC2 servers show that Totoro scales gracefully with the number of FL applications and N edge nodes, speeds up the total training time by 1.2 × -14.0×, achieves O (logN) hops for model dissemination and gradient aggregation with millions of nodes, and efficiently adapts to the practical edge networks and churns.
Cheng-Wei Ching, Xin Chen 0084, Taehwan Kim 0012, Bo Ji 0001, Qingyang Wang 0001, Dilma Da Silva, Liting Hu
EuroSys6
2024 A Quantitative Study of Publications about Underrepresented Minority Undergraduate Students in Computer Science Majors in the United States
abstract
This is a full research paper. Including underrepresented minority groups (URM) in the computing field has been a challenge in the United States for a long time. Specifically, African American, Hispanic/Latinx and native American students continue to have low participation in computer science majors despite efforts to include these groups in Computer Science majors in the United States. In this context, the paper presents the research question: What types of publications are there in the literature about activities focused on including underrepresented minority groups in Computer Science majors in the United States? URM in this paper means minority African-American, Hispanic/Latinx and Native American students. To answer this question, a systematic literature mapping process covering the last 15 years (2009–2023) was applied using four academic sources: Scopus, Web of Science, IEEE Xplore, and ACM Digital Library. The inclusion criteria were: documents published in a conference or journal; documents published in the period 2009-2023; computer science and education areas; documents focusing on underrepresented minority groups, specifically African American and Latinx/Hispanic and Native American; and documents concerning the undergraduate level. The exclusion criteria were: documents with less than four pages (an attempt to map only full papers); documents in a language other than English; documents that do not mention African American and Latinx/Hispanic; and documents from educational institutions outside of the U.S. We found 521 relevant papers about URM and CS majors, most of which were published at ASEE, FIE, and SIGCSE conferences. There has been an increasing number of papers published in these 15 years. In the last five years, 329 papers were found, representing more than 63% of all papers found in this literature mapping. The universities with the most publications were Florida University, the University of Texas at El Paso, and Purdue University. California, Texas, and Florida are the top three states which the highest number of papers. We classified the paper and found 48 papers for EDM (educational data mining), 163 papers for Educational Model, Report 37, Perception 105, and Program 198.
Maristela Holanda, Manuella Valadares, Suxia Cui, Dilma Da Silva
FIE4
2024 AI Generated Code Plagiarism Detection in Computer Science Courses: A Literature Mapping
abstract
This is a full research paper. Integrity in the detection of plagiarism in students' source codes in university programming courses is a research topic for instructors and institutions seeking to improve the quality of their teaching. In particular, introductory courses such as CS1, are of paramount importance, as this is when students gain fundamental knowledge to build their future on. With the latest developments in Large Language Models (LLM) such as ChatGPT, GitHub Copilot, etc., methods of plagiarism have evolved, however methods of detection may not be capable of accurately differentiating between code generated by human and artificial intelligence (AI). In this context, this paper seeks to answer the research question: What does the current literature report on AI generated code plagiarism detection in higher education? To expand on and formulate a comprehensive answer to our research question (RQ), we have formulated six sub-questions: RQ1) How many papers were published per year by country?; RQ2) Which conferences and journals have published most papers on this subject?; RQ3) Which plagiarism detection tools were most often used prior to common AI use?; RQ4) How are educators adapting assignments to minimize the use of AI?; RQ5) Which modern methods are being deployed to specifically detect AI?; RQ6) Which data sources and languages are most prevalent in the literature? The methodology was based on a systematic literature review. Initially, we confined our search for literature to Scopus and Web of Science, however additional literature was included from Google Scholar. Inclusion criteria were applied to include documents from the years 2023 and 2024 (after the launch of ChatGPT), and only published by conferences and journals. Exclusion criteria: papers that do not focus on plagiarism and programming courses; papers that are not about the undergraduate-level; papers not written in English. We found 165 papers via Scopus and WebScience, from which the metadata were collected, resulting in 17 relevant papers selected for this work. The second step was a search in Google Scholar, where we analyzed 200 documents from 2023 (100 relevant documents) and 2024 (100 relevant documents). We used the same inclusion and exclusion criteria, however, we included the ArXiv papers, and found 9 more papers. Following this process, we have identified 26 papers to include in this literary mapping. In this paper we present the answers to these research questions and discussions about this research topic.
Archer Simmons, Maristela Holanda, Christiana Chamon, Dilma Da Silva
FIE4
2024 Graduate Programs in Computing at the University of Brasilia: Comparison of Academic Papers and Collaborations by Gender
abstract
The computing field has a low level of gender diver-sity, being predominantly male. This diversity gap is reflected at different academic levels, ranging from undergraduate degrees to master's and doctoral qualifications. As in other parts of the world, the University of Brasilia, one of the top 10 universities in Brazil, has a low rate of women in Computing in its graduate programs. According to data from CAPES (Coordination for the Improvement of Higher Education Personnel in Brazil), the computing area is one of the areas of Exact Sciences with the lowest number of women proportionally in Brazil. In this context, this paper aims to present an analysis of the number of publications and scientific collaborations related to the gender of researchers in the Graduate Program in Informatics (PPG I) at the University of Brasilia. To develop this research, technologies such as scraping were used to collect data from the program's professors, articles published (only full papers in conferences and academic journals) by them and names of the people who collaborated in the preparation of the articles, a database graph-based noSQL was used to generate the relationship networks. A relationship network was created, in which it was possible to analyze the relationship level of each professor in the program. As initial results, the average number of articles published is the same by gender, we did not find significant differences in the number of publications between men and women. In the study we only counted the number of publications, we did not analyze the impact of the publications. Regarding collaborations, initial results indicate that women are more collaborative than men in the program, with a higher degree of collaboration than the average for male researchers. In general, in the partial results, collaboration networks for journals and conferences present the same result, that female researchers proportionally collaborate more than men, both internally (publications co-authored with members of the University of Brasilia) and externally (publication with co-authorship outside the University of Brasilia), in academic publications.
Mariana Alencar do Vale, Maristela Holanda, Célia Ghedini Ralha, Aletéia P. F. Araújo, Dilma Da Silva
FIE5
2023 Automating Source Code Plagiarism Detection in a Moodle-Based Programming Course
abstract
Plagiarism in programming courses in college is an issue. Automatic plagiarism detection tools using source code similarities are important to combat this issue. For example, Moss and JPlag tools are used worldwide by several universities for the detection of similarity in students' source codes. However, the similarity could cause lead to notification of false positives. Given the large number of students in programming courses, considering only similarity could increase the number of students that the instructors should investigate to decide whether there is plagiarism. In this context, this paper presents the ProjPlag tool that seeks to combine similarity detection results with student behavior data, such as the coding process in the learning management system (LMS) and assignment scores during the programming courses. The ProjPlag automates the utilization of Jplag and Moss tools and also analyses students' behavior by means of data extracted from the Moodle platform, the LMS used in the programming courses at the Department of Computer Science at the University of Brasilia. This paper presents an analysis of correlations between the list of confirmed plagiarized assignments with the student behavior data on the Moodle platform, such as time to implement an assignment, the remaining time from the deadline, and the assignment's score. ProjPlag was tested in two different academic semesters at the University of Brasilia in 2022 for the first programming course, (Algorithms and Computer Programming course) in the Department of Computer Science. The findings show that the detection tools can help the instructor to ascertain whether there was plagiarism or not. However, the majority of student behavior data from Moodle had limited relevance in confirming plagiarism and can generate a false alarm. The correlations between confirmed plagiarism and student's behavior (plagiarism and assignments scores, time spent coding, and project scores) on the Moodle platform were low.
Rodrigo Aniceto, Maristela Holanda, Dilma Da Silva
FIE3
2023 Automatic Formative and Motivational Feedback Personalized for Introductory Programming Course
abstract
The teaching and learning of the first programming language course, commonly called CS1 (Computer Science 1), is a reported challenge for undergraduate students in different majors and universities. In general, these courses have a high failure rate at institutions around the world. At the same time, there has been an increase in the usage of automated feedback tools for programming language courses. These tools present feedback to help the students know if their code is correct or incorrect while studying. This automatic feedback is important for student learning. In this context, this paper presents the AsPin plugin, developed for the virtual learning environment, which uses the student's profile to provide feedback (messages and advice) to personalize their learning. The automatic feedback helps the student understand where they made mistakes, delivers motivational messages so that the student continues to learn, and points to further academic materials so that the student spends more time studying what they need. This feedback is also personalized for the student's profile, as at the beginning of the course, the student fills out a form with basic information, for example, whether or not they already have programming experience and their major. The plugin was developed for the Moodle platform, a free and open-source virtual learning environment with CodeRunner, an automated grader for multi-programming languages. The AsPin plugin was developed for the CS1 course in Python language by students and instructors from the Department of Computer Science at the University of Brasilia. The plugin presented in this paper was evaluated by undergraduate students taking different majors, which has a high student acceptance rate. This paper presents the applied methodology, the development of the plugin, as well the performance evaluations and perceptions of students from the University of Brasilia in two academic semesters in 2022.
Maristela Holanda, Lucas R. F. De Miranda, Fernanda Macedo, João Lucas Yamin, Camilo C. Dorea, Christiana Chamon, Dilma Da Silva
FIE7
2023 Sora: A Latency Sensitive Approach for Microservice Soft Resource Adaptation
abstract
Fast response time for modern web services that include numerous distributed and lightweight microservices becomes increasingly important due to its business impact. While hardware-only resource scaling approaches (e.g., FIRM [47] and PARSLO [40]) have been proposed to mitigate response time fluctuations on critical microservices, the re-adaptation of soft resources (e.g., threads or connections) that control the concurrency of hardware resource usage has been largely ignored. This paper shows that the soft resource adaptation of critical microservices has a significant impact on system scalability because either under- or over-allocation of soft resources can lead to inefficient usage of underlying hardware resources. We present Sora, an intelligent, fast soft resource adaptation management framework for quickly identifying and adjusting the optimal concurrency level of critical microservices to mitigate service-level objective (SLO) violations. Sora leverages online fine-grained system metrics and the propagated deadline along the critical path of request execution to quickly and accurately provide optimal concurrency setting for critical microservices. Based on six real-world bursty workload traces and two representative microservices benchmarks (Sock Shop and Social Network), our experimental results show that Sora can effectively mitigate large response time fluctuations and reduce the 99th percentile latency by up to 2.5× compared to the hardware-only scaling strategy FIRM [47] and 1.5× to the state-of-the-art concurrency-aware system scaling strategy ConScale.
Jianshu Liu, Qingyang Wang 0001, Shungeng Zhang, Liting Hu, Dilma Da Silva
Middleware5
2023 Early Introduction to Computer Architecture in K-12
abstract
Computer science and engineering students in college get introduced to high-level language programming (Java, C++, Python) early in their first year and later to computer organization and architecture courses. Most students lack a clear understanding of the architecture of a computer before learning how to write code for the first time. This deficiency is due to the lack of courses focused on computer architecture and organization early in high school. Even though introductory computer science courses are now offered from 6th to 12th grade, in some schools, the curriculum lacks emphasis on the fundamentals of computer architecture. This work presents an educational framework suitable for K-12 and undergraduate college students to learn computer architecture by building custom processors, exploring computer subsystems, and observing how programs are simulated in real-time.
David Kebo Houngninou, Maristela Holanda, Dilma Da Silva
SIGCSE (2)3
2023 Adaptive Fragment-Based Parallel State Recovery for Stream Processing Systems
abstract
Today, large-scale cloud organizations are deploying datacenters and “edge” clusters globally to provide low-latency access to services. Running stream applications across geo-distributed sites are emerging as a daily requirement. However, existing efforts have dominantly centered aroundstateless stream processing, leaving another urgent trend-stateful stream processing-much less explored. A driving need is to store and update states during processing, and most importantly, successfully recover large distributed states when faults and failures happen. Existing studies exhibit major limitations including: (1) they mostly inherit MapReduce's “single master/many workers” architecture, where the central master can easily become ascalability bottleneck; (2) they offer state recovery mainly through three approaches: replication recovery, checkpointing recovery, and DStream-based lineage recovery, which are either slow, resource-expensive or failing to handle multiple failures; and (3) they are not adaptive to heterogeneous hardware settings. We present A-FP4S, a novel adaptive fragments-based parallel state recovery mechanism for stream processing systems. A-FP4S organizes stream operators into a distributed hash table based peer-to-peer overlay and divides each node's local state into many fragments. These fragments are periodically stored in node's multiple neighbors, ensuring different sets of available fragments can reconstruct failed states in parallel. This mechanism is extremely scalable to the lost state, significantly reduces failure recovery time, and can tolerate multiple node failures. A-FP4S is adaptive to heterogeneous hardware settings by automatic parameter tuning over phases. Compared to Apache Storm, A-FP4S achieves 31.8% to 50.5% reduction in recovery latency. Large-scale experiments using real-world datasets demonstrate A-FP4S's attractive scalability and adaptivity properties.
Hailu Xu, Pinchao Liu, Sarker Tanzir Ahmed, Dilma Da Silva, Liting Hu
IEEE Trans. Parallel Distributed Syst.4
2022 Automatic Feedback in the Teaching of Programming in Undergraduate Courses: a Literature Mapping
abstract
Teaching programming in the early years of undergraduate courses has been a challenge for students, institutions, and professors. In view of this, Learning Management Systems (LMSs) and other teaching platforms have emerged to address some of the difficulties in this process. In this context, the present work intends to answer the following research question (RQ): What does the literature tell us about the use of automatic feedback in teaching programming in undergraduate courses? To answer this question, a literature mapping was conducted based on 119 articles published between 2017 and 2021. The mapping showed that the research area is expanding and has related studies from all over the world. The papers have different origins, and 37 countries are represented in this survey. The main programming languages used are Java, Python, C and C++. Another finding was that it is common practice to develop specific platforms for automatic feedback in programming courses. This paper presents the findings and results obtained.
Wanderson Conceição, Maristela Holanda, Fernanda Macedo, Edison Ishikawa, Vanessa Tavares Nunes, Dilma Da Silva
FIE6
2022 Visual Analysis of Educational Data: a Case Study of Introductory Programming courses at the University of Brasília
abstract
Data visualization aims to graphically represent information from a given application domain. This approach helps in the analysis and understanding of a data set through the mechanisms of interaction and generation of graphical representations, which emphasize the observation of characteristics and patterns. In this way, this technique combined with visual learning analytic enables the detection of the expected and the discovery of the unexpected. Those have been used in numerous areas such as education, where the motivation is to understand and improve the teaching and learning processes. In the literature, data visualization is used within the educational area to predict performance and identify the student profiles, as well as monitoring educational systems in order to improve the quality of teaching. In this area, introductory computing courses stand out for the high number of students who fail or drop out of these courses. On average more than 30% of students, worldwide, drop out of introductory computing courses. At University of Brasília (UnB) this ratio is greater than 50%, which makes it an appropriate scenario for the use of data analysis and visualization techniques, in order to discover patterns related to the scenario and ways to improve the situation. This paper searches and implements the most used visualization algorithms, according to the literature, in order to assist instructors and educational managers to get information about historical and demographic data related to the course. To evaluate the visualizations, the algorithms were applied in a case study of three introductory computing courses at UnB and were evaluated through a questionnaire applied to instructors and educational managers. The results show that the respondents felt more secure when using familiar algorithms, such as pie charts and bar charts. Among the selected visualizations, sankey chart, treemap, and violin chart were the least known by the respondents. Furthermore, the bar chart was the algorithm where the information was identified quickly and correctly most of the time.
Luiza Hansen, Maristela Holanda, Vinicius Ruela Pereira Borges, Dilma Da Silva
FIE4
2022 Gender Diversity in STEM Graduate Programs at the University of Brasília in Brazil
abstract
Increasing gender diversity in STEM graduate programs is a challenge. In Brazil, the National Council for Scientific and Technological Development (CNPq) has classified knowledge into different "broad areas", one of which is Exact and Earth Sciences (EES). This area includes the STEM subjects: Physics, Computer Science, Mathematics, Statistics and Chemistry. These EES areas have a low representation of women. The University of Brasília, one of the top 10 universities in Brazil, has graduate programs (master’s and doctoral degrees) in all these subjects. In this context, this paper has the main research question: What is the level of gender diversity in each EES area at the University of Brasília in master’s and doctoral programs? This research question was analyzed with the indicators of student enrollment, number of graduations, and retention rates in the programs. The data used for analysis were the available Brazilian open public data of graduate programs for 11 years, 2007-2017. The findings include that women are in the minority in the total number of graduates in Computer Science and Physics. Despite the low number of women overall in EES, the Chemistry program stands out with the highest female participation, reaching more women than men at the doctorate level. The program that has the fewest women is Computer Science. This paper presents all the results of this study.
Maristela Holanda, Thayanna Klysnney, Aletéia P. F. Araújo, Dilma Da Silva, Roberta B. Oliveira, Carla Koike, Carla Denise Castanho, Juliana Betini Fachini Gomes
FIE4
2022 Expanding the cybersecurity pipeline through early exposure in undergraduate programs
abstract
The cybersecurity field has exponentially grown in recent history, with little to no general understanding of the requirements for professionals in the area. In 2018, it was estimated that 3.5 million cybersecurity jobs would be unfilled by 2021 globally. Many students associate the cybersecurity field with computer programming and hacking, unaware of the societal importance of this career path and its connection to many majors unrelated to computer science or computer engineering. Previous work in cybersecurity education has focused on tools that aid students in understanding specific concepts. None has taken the approach of clarifying the cybersecurity profession in the form of a short-duration seminar series. With this goal, we propose an introductory seminar and a follow-on optional seminar series. The implementation of such a strategy early in undergraduate education may allow students to connect the cybersecurity career paths to one of their societal benefits. This series is designed to provide the student with direct practical examples and thought-provoking questions for the applications of security in their daily life, emphasizing multidisciplinary aspects of the field. This paper describes our experience with this seminar series at a large public university in the Fall of 2021 and Spring of 2022. We evaluate the effectiveness of the proposed approach by assessing its impact on students’ perceived awareness of cybersecurity careers and their interest in cybersecurity minors. Through this study, we observe that the seminar series resulted in an increase in student confidence regarding their understanding of the cybersecurity profession. The data also revealed an increased interest in the cybersecurity minors offered in our institution. Our implementation of this new seminar-based intervention has been limited to providing it as an extracurricular activity among many, therefore reaching only a small part of the first-year engineering students at the university. Still, the data indicates that such a seminar series is a viable instrument to make students aware of the opportunities in a cybersecurity career, its significant demand for professionals, and its potential for addressing societal problems. We make the seminar materials publicly available to facilitate the adoption of the proposed intervention at other institutions.
Dilma Da Silva, Maristela Holanda, Nina Miner
FIE1
2022 Analysis of Student Performance and Social-economic Data in Introductory Computer Science Courses at the University of Brasília
abstract
Computer Science 1 (CS1) courses introduce undergraduate students to computational thinking and their first programming language. As in most institutions, CS1 is a challenge for students at the University of Brasilia, one of the top 10 universities in Brazil. In 2012, the Brazilian higher education system changed with an affirmative-action policy to admit more students from the public K-12 system: the “Quota” Law was implemented at all federal public universities. This paper aims to answer two research questions: 1) What knowledge about the positive/negative impact of certain features on the success of a CS1 course can be discovered from mining educational data augmented by social-economic information? 2) Are these features different between quota and non-quota students? The analysis uses social-economic and academic performance data of undergraduate students from 2012 to 2019. Data mining algorithms such as generalized linear model, gradient boosting machine, and random forest were applied to the data. The findings include: (1) the relevance of indicators such as the consumption rate of university-subsidized meals, (2) that gender is not a determining factor in failure/success, and (3) a higher failure rate for quota students in the Computer Engineering and Mechatronics Engineering majors.
Rodrigo da Fonseca Silveira, Maristela Holanda, Guilherme Novaes Ramos, Márcio Victorino, Dilma Da Silva
FIE5
2022 Analysis of Academic Databases for Literature Review in the Computer Science Education Field
abstract
Literature review is a fundamental part of a research process, and systematic protocols for this activity have been used for a long time, mainly in the field of health. Specifically in the Computer Science Education area, the use of systematic literature review has grown. One of the steps in a systematic literature review (SLR) is the selection of academic databases in which to search for articles. There are several databases with academic documents that may be relevant to SLR, for example: Google Scholar, which indexes different types of documents, such as articles, dissertations, theses, and others; Scopus and Web of Science are large databases that index articles from different conferences and journals. ACM Digital Library and IEEE Xplore are also important sources of information in the field of Computer Education. These tools have different characteristics, some charge a fee, others have only information about the title and authors and do not have access to the full article, others have advanced features, with many filters. In this context, this article presents the following research questions: RQ1) What metadata can be extracted automatically from the databases?; RQ2) What kind of visualization tools are available?; RQ3) Do the documents returned by the databases cover the research topic?; RQ4) Do the databases have papers from the main CSE venues?; and RQ5) How many databases are required to perform a literature review in CSE? To answer these questions we used five academic databases: Google Scholar, Scopus, Web of Science, ACM Digital Library, and IEEE xplore. Regarding the results, Scopus and Web of Science have the best visualization of the documents and a robust query engine, however those academic databases are not free. ACM Digital library, IEEE Xplore, Scopus and Web of Science allow the automatic download of the papers’ metadata (author, title, abstract, affiliation and others). Specifically in the field of Computer Science Education, the ACM Digital Library and the IEEE Xplore have important papers from conferences (SIGCSE and FIE) and journals (ACM Transaction on Education and IEEE Transaction on Education). In this full paper, the results will be presented to help researchers to choose the most appropriate academic databases based on their requirements and available options.
Aline S. Oliveira Valente, Maristela Holanda, Ari Melo Mariano, Richard Furuta, Dilma Da Silva
FIE5
2021 Source Code Plagiarism Detection in an Educational Context: A Literature Mapping
abstract
Detection of plagiarism in students' source codes in college-level programming courses is an important topic for instructors and institutions that seek to pursue project-based learning while enforcing honor codes and maintaining traditional grade-based skill assessment methods. There are different approaches for plagiarism detection currently being researched. This paper aims to answer the question: What does the literature report on source code plagiarism detection in university settings? To answer that, we used a systematic mapping process of recent literature. We selected 109 papers published between 2015 and 2020 that deal with this subject specifically in an educational context. We found that this research area is currently expanding and being studied worldwide. There were papers from 37 different countries, and the number of publications per year has been increasing since 2017. The most targeted programming languages are Java, C++, C, and Python. The most studied plagiarism detection tools are MOSS, JPlag, SIM, Plaggie, and Sherlock. Our study also identified new methodologies created to tackle this problem, such as the analysis of students' typing patterns or their coding style. We noticed that the proposed solutions are mainly based on static source code analysis instead of following the development process. This paper describes our findings.
Rodrigo Aniceto, Maristela Holanda, Carla Denise Castanho, Dilma Da Silva
FIE4
2021 Sense of Belonging of Female Undergraduate Students in Introductory Computer Science Courses at University of Brasília in Brazil
abstract
Full Paper - The field of Computer Science (CS) has been of little interest to women straight out of high school when considering undergraduate majors in Brazil. At the University of Brasília, a top-ten university in Brazil, female undergraduate students account for less than 15% of the students in the Department of Computer Science. According to Stout and Blaney, a sense of intellectual belonging is “the sense that one is believed to be a competent member of the community”. This perception may be especially challenging for members of underrepresented minority groups, such as female undergraduate students in CS majors. In this context, this paper addresses two research questions: i) “How does the intellectual sense of belonging of female students compare to the male students' in introduction to computer science courses?”; ii) Is it similar for female undergraduate students in both CS and non-CS majors?”. We devised a questionnaire for students in the introduction to computer science courses for different majors. We analyzed the responses and, in general, introductory programming courses are challenging for all students, however, female students feel worse about their computing competencies than male ones.
Maristela Holanda, Aletéia P. F. Araújo, Dilma Da Silva, George von Borries, Roberta B. Oliveira, Carla Koike, Carla Denise Castanho
FIE3
2021 Educational Initiatives to Increase Diversity in CS1 Courses: A Literature Mapping of U.S. efforts
abstract
Full paper. Introductory programming courses such as Computer Science 1 (CS1) are challenging for undergraduate students. Additional obstacles to attracting and retaining students from groups underrepresented in Computer Science majors (such as women, African-Americans, Latinx/Hispanic, and Native Americans) motivated several CS1 educational initiatives aiming at better support for students from these groups. In the context of broadening participation in computing, our paper aims to answer the following question: What does the literature tell us about educational initiatives in CS1 courses that focus on underrepresented minority groups in the United States? To answer this question, we deployed a systematic literature mapping process covering the last twelve years (2009–2020) using four academic databases: Scopus, Web of Science, IEEExplore, and ACM Digital Library. We found 67 academic documents published in conferences and journals, covering activities such as modifications to lesson plans, implementation of pedagogical changes, assessment of student sentiment, the establishment of learning communities, and mentoring events targeting to increase inclusion in CS1 courses.
Maristela Holanda, Keishla D. Ortiz-Lopez, Dilma Da Silva, Richard Furuta
FIE3
2021 When threads meet events: efficient and precise static race detection with origins
abstract
Data races are among the worst bugs in software in that they exhibit non-deterministic symptoms and are notoriously difficult to detect. The problem is exacerbated by interactions between threads and events in real-world applications. We present a novel static analysis technique, O2, to detect data races in large complex multithreaded and event-driven software. O2 is powered by “origins”, an abstraction that unifies threads and events by treating them as entry points of code paths attributed with data pointers. Origins in most cases are inferred automatically, but can also be specified by developers. More importantly, origins provide an efficient way to precisely reason about shared memory and pointer aliases.
Bozhen Liu, Peiming Liu, Chia-Che Tsai, Dilma Da Silva, Jeff Huang 0001
PLDI5
2021 DART: A Scalable and Adaptive Edge Stream Processing Engine
Pinchao Liu, Dilma Da Silva, Liting Hu
USENIX ATC2
2020 The Intellectual Sense of Belonging and Self-efficacy in the Introduction to Computer Science Courses at University of Brasilia in Brazil
abstract
Research Full Paper Most top universities in Brazil are public government institutions and tuition free. However, until recently, access to these institutions has been limited by extremely difficult entrance exams. The high standards at public universities are in contrast to the k-12 educational system, where public schools fail to prepare students for the exams, with only some of the private schools offering adequate preparation. In 2012, the Higher Education System in Brazil changed: the Quota Law was implemented for all 59 federal public government universities. This law reserves 50% of the enrollments for the public high-school students with the best grades in the entrance exams. Also, from this 50% allocation of places for students from the public high-school system, half are allocated to students from low-income families (up to one and a half times the minimum monthly salary), black and indigenous students. In this context, this paper addresses the research question: "How does the intellectual sense of belonging and self-efficacy of the quota students compare to that the non-quota students' taking Introduction to Computer Science courses?" We devised a questionnaire for students enrolled in the first programming course of different majors at a top-10 Brazilian university. This paper presents an analysis of the responses that indicates some differences in self-efficacy perceptions between the students admitted through the quota system and the ones admitted exclusively by their placement in entrance exams.
Maristela Holanda, George von Borries, Dilma Da Silva, Camilo C. Dorea, Roberta B. Oliveira, Edison Ishikawa
FIE3
2020 FP4S: Fragment-based Parallel State Recovery for Stateful Stream Applications
abstract
Streaming computations are by nature long-running. They run in highly dynamic distributed environments where many stream operators may leave or fail at the same time. Most of them are stateful, in which stream operators need to store and maintain large-sized state in memory, resulting in expensive time and space costs to recover them. The state-of-the-art stream processing systems offer failure recovery mainly through three approaches: replication recovery, checkpointing recovery, and DStream-based lineage recovery, which are either slow, resource-expensive or fail to handle many simultaneous failures.We present FP4S, a novel fragment-based parallel state recovery mechanism that can handle many simultaneous failures for a large number of concurrently running stream applications. The novelty of FP4S is that we organize all the application's operators into a distributed hash table (DHT) based consistent ring to associate each operator with a unique set of neighbors. Then we divide each operator's in-memory state into many fragments and periodically save them in each node's neighbors, ensuring that different sets of available fragments can reconstruct lost state in parallel. This approach makes this failure recovery mechanism extremely scalable, and allows it to tolerate many simultaneous operator failures. We apply FP4S on Apache Storm and evaluate it using large-scale real-world experiments, which demonstrate its scalability, efficiency, and fast failure recovery features. When compared to the state-of-the-art solutions (Apache Storm), FP4S reduces 37.8% latency of state recovery and saves more than half of the hardware costs. It can scale to many simultaneous failures and successfully recover the states when up to 66.6% of states fail or get lost.
Pinchao Liu, Hailu Xu, Dilma Da Silva, Qingyang Wang 0001, Sarker Tanzir Ahmed, Liting Hu
IPDPS3
2020 SR3: Customizable Recovery for Stateful Stream Processing Systems
abstract
Modern stream processing applications need to store and update state along with their processing, and process live data streams in a timely fashion from massive and geo-distributed data sets. Since they run in a dynamic distributed environment and their workloads may change in unexpected ways, multiple stream operators can fail at the same time, causing severe state loss. However, the state-of-the-art stream processing systems are mainly designed for low-latency intra-datacenter settings and do not scale well for running stream applications that contain large distributed states, suffering a significantly centralized bottleneck and high latency to recover state. They offer failure recovery mainly through three approaches: replication recovery, checkpointing recovery, and DStream-based lineage recovery, which are either slow, resource-expensive or fail to handle multiple simultaneous failures.
Hailu Xu, Pinchao Liu, Susana Cruz-Diaz, Dilma Da Silva, Liting Hu
Middleware4
2020 What does a Literature Survey Reveal about the Initiatives to Attract and Retain Women into Computer Science Majors in Latin America?
abstract
Among the many papers describing initiatives to recruit and re- tain women into Computer Science (CS) majors, the vast majority focus on the United States and Europe. This poster addresses the research question: "What does the literature tell us about inter- ventions for women in CS majors in Latin America?". We have analyzed papers indexed by Scopus, Web of Science (WoS), and the Latin America Women in Computing Conference (LAWCC) using a systematic literature review process. We found papers from ten countries covering initiatives at different educational levels to increase the participation of women in Computing majors in Latin America.
Maristela Holanda, Dilma Da Silva
SIGCSE2
2018 Exploring Serverless Computing for Neural Network Training
abstract
Serverless or functions as a service runtimes have shown significant benefits to efficiency and cost for event-driven cloud applications. Although serverless runtimes are limited to applications requiring lightweight computation and memory, such as machine learning prediction and inference, they have shown improvements on these applications beyond other cloud runtimes. Training deep learning can be both compute and memory intensive. We investigate the use of serverless runtimes while leveraging data parallelism for large models, show the challenges and limitations due to the tightly coupled nature of such models, and propose modifications to the underlying runtime implementations that would mitigate them. For hyperparameter optimization of smaller deep learning models, we show that serverless runtimes can provide significant benefit.
Lang Feng 0001, Prabhakar Kudva, Dilma Da Silva, Jiang Hu 0001
IEEE CLOUD3
2017 Enhancing Datacenter Resource Management through Temporal Logic Constraints
abstract
Resource management of modern datacenters needs to consider multiple competing objectives that involve complex system interactions. In this work, Linear Temporal Logic (LTL) is adopted in describing such interactions by leveraging its ability to express complex properties. Further, LTL-based constraints are integrated with reinforcement learning according the recent progress on control synthesis theory. The LTL-constrained reinforcement learning facilitates desired balance among the competing objectives in managing resources for datacenters. The effectiveness of this new approach is demonstrated by two scenarios. In datacenter power management, the LTL-constrained manager reaches the best balance among power, performance and battery stress compared to the previous work and other alternative approaches. In multitenant job scheduling, 200 MapReduce jobs are emulated on the Amazon AWS cloud. The LTL-constrained scheduler achieves the best balance between system performance and fairness compared to several other methods including three Hadoop schedulers.
Jiang Hu 0001, Dilma Da Silva
IPDPS3
2013 On fault resilience of OpenStack
abstract
Cloud-management stacks have become an increasingly important element in cloud computing, serving as the resource manager of cloud platforms. While the functionality of this emerging layer has been constantly expanding, its fault resilience remains under-studied. This paper presents a systematic study of the fault resilience of OpenStack---a popular open source cloud-management stack. We have built a prototype fault-injection framework targeting service communications during the processing of external requests, both among OpenStack services and between OpenStack and external services, and have thus far uncovered 23 bugs in two versions of OpenStack. Our findings shed light on defects in the design and implementation of state-of-the-art cloud-management stacks from a fault-resilience perspective.
Xiaoen Ju, Livio B. Soares, Kang G. Shin, Kyung Dong Ryu, Dilma Da Silva
SoCC5
2013 CloudBench: Experiment Automation for Cloud Environments
abstract
The growth in the adoption of cloud computing is driven by distinct and clear benefits for both cloud customers and cloud providers. However, the increase in the number of cloud providers as well as in the variety of offerings from each provider has made it harder for customers to choose. At the same time, the number of options to build a cloud infrastructure, from cloud management platforms to different interconnection and storage technologies, also poses a challenge for cloud providers. In this context, cloud experiments are as necessary as they are labor intensive. Cloud Bench [1] is an open-source framework that automates cloud-scale evaluation and benchmarking through the running of controlled experiments, where complex applications are automatically deployed. Experiments are described through experiment plans, containing directives with enough descriptive power to make the experiment descriptions brief while allowing for customizable multi-parameter variation. Experiments can be executed in multiple clouds using a single interface. Cloud Bench is capable of managing experiments spread across multiple regions and for long periods of time. The modular approach adopted allows it to be easily extended to accommodate new cloud infrastructure APIs and benchmark applications, directly by external users. A built-in data collection system collects, aggregates and stores metrics for cloud management activities (such as VM provisioning and VM image capture) and application runtime information. Experiments can be conducted in a highly controllable fashion, in order to assess the stability, scalability and reliability of multiple cloud configurations. We demonstrate Cloud Bench's main characteristics through the evaluation of an Open Stack installation, including experiments with approximately 1200 simultaneous VMs at an arrival rate of up to 400 VMs/hour.
Márcio Silva, Michael R. Hines, Diego S. Gallo, Kyung Dong Ryu, Dilma Da Silva
IC2E6
2012 v-Bundle: Flexible Group Resource Offerings in Clouds
abstract
Traditional Infrastructure-as-a-Service offerings provide customers with large numbers of fixed-size virtual machine (VM) instances with resource allocations that are designed to meet application demands. With application demands varying over time, cloud providers gain efficiencies through resource consolidation and over-commitment. For cloud customers, however, this leads to inefficient use of the cloud resources they have purchased. To address cloud customers' dynamic application requirements, we present a new cloud resource offering, called v-Bundle, which makes flexible the exchange of resource capacity among multiple VM instances belonging to the same customer. Specifically targeting network resources, for each customer application, we first use DHT-based techniques to achieve an initial VM placement that minimizes its use of the data center network's bi-section bandwidth. When VMs' networking requirements change, the customer can then use v-Bundle to trade the networking resources allocated to her application. v-Bundle maintains information about network resources with any-cast tree-based methods implemented as extensions of the Pastry pub-sub core. Experimental evaluations show that the approach can scale well to thousands of hosts and VMs, and that v-Bundle can provide customers with better bandwidth utilization and improved application quality of service through borrowing extra bandwidth when needed, at no additional cost in terms of the total resources allocated to the customer.
Liting Hu, Kyung Dong Ryu, Dilma Da Silva, Karsten Schwan
ICDCS3
2012 Switching Optically-Connected Memories in a Large-Scale System
abstract
Recent trends in processor and memory systems in large-scale computing systems reveal a new "memory wall" that prompts investigation on alternate main memory organization separating main memory from processors and arranging them in separate ensembles. In this paper, we study the feasibility of transferring data across processors by using the optical interconnection fabric that acts as a bridge between processor and memory ensembles. We propose a memory switching protocol that transfers data across processors without physically moving the data across electrical switches. Such a mechanism allows large-scale data communication across processors through transfer of a few tiny blocks of meta-data. We present detailed techniques for supporting two communication patterns prevalent in any large-scale scientific and data management applications. We present experimental results analyzing the feasibility of memory switching in a wide range of applications, and characterize applications based on the impact of the memory switching on their performance.
Abhirup Chakraborty, Eugen Schenfeld, Dilma Da Silva
IPDPS3
2012 Alleviating scalability issues of checkpointing protocols
abstract
Current fault tolerance protocols are not sufficiently scalable for the exascale era. The most-widely used method, coordinated checkpointing, places enormous demands on the I/O subsystem and imposes frequent synchronizations. Uncoordinated protocols use message logging which introduces message rate limitations or undesired memory and storage requirements to hold payload and event logs. In this paper we propose a combination of several techniques, namely coordinated checkpointing, optimistic message logging, and a protocol that glues them together. This combination eliminates some of the drawbacks of each individual approach and proves to be an alternative for many types of exascale applications. We evaluate performance and scaling characteristics of this combination using simulation and a partial implementation. While not a universal solution, the combined protocol is suitable for a large range of existing and future applications that use coordinated checkpointing and enhances their scalability.
Rolf Riesen, Kurt B. Ferreira, Dilma Da Silva, Pierre Lemarinier, Dorian C. Arnold, Patrick G. Bridges
SC3
2011 Applications Know Best: Performance-Driven Memory Overcommit with Ginkgo
abstract
Memory over commitment enables cloud providers to host more virtual machines on a single physical server, exploiting spare CPU and I/O capacity when physical memory becomes the bottleneck for virtual machine deployment. However, over commiting memory can also cause noticeable application performance degradation. We present Ginkgo, a policy framework for over omitting memory in an informed and automated fashion. By directly correlating application-level performance to memory, Ginkgo automates the redistribution of scarce memory across all virtual machines, satisfying performance and capacity constraints. Ginkgo also achieves memory gains for traditionally fixed-size Java applications by coordinating the redistribution of available memory with the activities of the Java Virtual Machine heap. When compared to a non-over commited system, Ginkgo runs the Day Trader 2.0 and SPEC Web 2009 benchmarks with the same number of virtual machines while saving up to 73% (50% omitting free space) of a physical server's memory while keeping application performance degradation within 7%.
Michael R. Hines, Abel Gordon, Márcio Silva, Dilma Da Silva, Kyung Dong Ryu, Muli Ben-Yehuda
CloudCom4
2010 Providing a cloud network infrastructure on a supercomputer
abstract
Supercomputers and clouds both strive to make a large number of computing cores available for computation. More recently, similar objectives such as low-power, manageability at scale, and low cost of ownership are driving a more converged hardware and software. Challenges remain, however, of which one is that current cloud infrastructure does not yield the performance sought by many scientific applications. A source of the performance loss comes from virtualization and virtualization of the network in particular. This paper provides an introduction and analysis of a hybrid supercomputer software infrastructure, which allows direct hardware access to the communication hardware for the necessary components while providing the standard elastic cloud infrastructure for other components.
Jonathan Appavoo, Amos Waterland, Dilma Da Silva, Volkmar Uhlig, Bryan S. Rosenburg, Eric Van Hensbergen, Jan Stoess, Robert W. Wisniewski, Udo Steinberg
HPDC3
2010 RC2 - A Living Lab for Cloud Computing
Kyung Dong Ryu, Xiaolan Zhang 0001, Glenn Ammons, Vasanth Bala, Stefan Berger, Dilma Da Silva, Jim Doran, Frank Franco, Alexei A. Karve, Herb Lee, James A. Lindeman, Ajay Mohindra, Bob Oesterlin, Giovanni Pacifici, Dimitrios E. Pendarakis, Darrell Reimer, Mariusz Sabath
LISA6
2009 Blue Eyes: Scalable and reliable system management for cloud computing
abstract
With the advent of cloud computing, massive and automated system management has become more important for successful and economical operation of computing resources. However, traditional monolithic system management solutions are designed to scale to only hundreds or thousands of systems at most. In this paper, we present Blue Eyes, a new system management solution to handle hundreds of thousands of systems. Blue Eyes enables highly scalable and reliable system management with a multi-server scale-out architecture. In particular, we structure the management servers into a hierarchical tree to achieve scalability, and management information is replicated into secondary servers to provide reliability and high availability. In addition, Blue Eyes is designed to extend the existing single server implementation without significantly restructuring the code base. Several experimental results with the prototype have demonstrated that Blue Eyes can reliably handle typical management tasks for a large scale of endpoints with dynamic load-balancing across the servers, near linear performance gain with server additions, and an acceptable network overhead.
Sukhyun Song, Kyung Dong Ryu, Dilma Da Silva
IPDPS3
2008 Portably Solving File TOCTTOU Races with Hardness Amplification
Dan Tsafrir, Tomer Hertz, David A. Wagner 0001, Dilma Da Silva
FAST4
2008 Portably solving file races with hardness amplification
abstract
The file-system API of contemporary systems makes programs vulnerable to TOCTTOU (time-of-check-to-time-of-use) race conditions. Existing solutions either help users to detect these problems (by pinpointing their locations in the code), or prevent the problem altogether (by modifying the kernel or its API). But the latter alternative is not prevalent, and the former is just the first step: Programmers must still address TOCTTOU flaws within the limits of the existing API with which several important tasks cannot be accomplished in a portable straightforward manner. Recently, Dean and Hu [2004] addressed this problem and suggested a probabilistic hardness amplification approach that alleviated the matter. Alas, shortly after, Borisov et al. [2005] responded with an attack termed “filesystem maze” that defeated the new approach. We begin by noting that mazes constitute a generic way to deterministically win many TOCTTOU races (gone are the days when the probability was small). In the face of this threat, we: (1) develop a new user-level defense that can withstand mazes; and (2) show that our method is undefeated even by much stronger hypothetical attacks that provide the adversary program with ideal conditions to win the race (enjoying complete and instantaneous knowledge about the defending program's actions and being able to perfectly synchronize accordingly). The fact that our approach is immune to these unrealistic attacks suggests it can be used as a simple and portable solution to a large class of TOCTTOU vulnerabilities, without requiring modifications to the underlying operating system.
Dan Tsafrir, Tomer Hertz, David A. Wagner 0001, Dilma Da Silva
ACM Trans. Storage4
2007 Load Balancing on an Interactive Multiplayer Game Server
Daniel Cordeiro, Alfredo Goldman, Dilma Da Silva
Euro-Par3
2007 Scalability of the Nutch search engine
abstract
Nutch is an open source search engine that is gaining increasing popularity in the commercial world. The Nutch architecture leads itself to a wide range of parallelization techniques. Multiple backend servers can be used to both partition the corpus of search data, thus increasing the rate of queries serviced, and to increase the size of the search data while preserving the service rate. Alternatively, multiple search engines can operate in parallel, further increasing the query rate. In this paper, we analyze the performance and scalability of various configurations of Nutch. The configurations were implemented as part of the Commercial Scale Out project at IBM Research, and were used to investigate the applicability of scale-out architectures in commercial environments. We conclude that Nutch is highly scalable, with the different configurations behaving differently from a performance perspective.
José E. Moreira, Maged M. Michael, Dilma Da Silva, Doron Shiloach, Parijat Dube, Li Zhang 0002
ICS3
2007 Reboots Are for Hardware: Challenges and Solutions to Updating an Operating System on the Fly
Andrew Baumann, Jonathan Appavoo, Robert W. Wisniewski, Dilma Da Silva, Orran Krieger, Gernot Heiser
USENIX ATC4
2007 Libra: a library operating system for a jvm in a virtualized execution environment
abstract
If the operating system could be specialized for every application, many applications would run faster. For example, Java virtual machines (JVMs) provide their own threading model and memory protection, so general-purpose operating system implementations of these abstractions are redundant. However, traditional means of transforming existing systems into specialized systems are difficult to adopt because they require replacing the entire operating system. This paper describes Libra, an execution environment specialized for IBM's J9 JVM. Libra does not replace the entire operating system. Instead, Libra and J9 form a single statically-linked image that runs in a hypervisor partition. Libra provides the services necessary to achieve good performance for the Java workloads of interest but relies on an instance of Linux in another hypervisor partition to provide a networking stack, a filesystem, and other services. The expense of remote calls is offset by the fact that Libra's services can be customized for a particular workload; for example, on the Nutch search engine, we show that two simple customizations improve application throughput by a factor of 2.7.
Glenn Ammons, Jonathan Appavoo, Maria A. Butrico, Dilma Da Silva, David Grove, Kiyokuni Kawachiya, Orran Krieger, Bryan S. Rosenburg, Eric Van Hensbergen, Robert W. Wisniewski
VEE4
2007 Experience distributing objects in an SMMP OS
abstract
Designing and implementing system software so that it scales well on shared-memory multiprocessors (SMMPs) has proven to be surprisingly challenging. To improve scalability, most designers to date have focused on concurrency by iteratively eliminating the need for locks and reducing lock contention. However, our experience indicates that locality is just as, if not more, important and that focusing on locality ultimately leads to a more scalable system. In this paper, we describe a methodology and a framework for constructing system software structured for locality, exploiting techniques similar to those used in distributed systems. Specifically, we found two techniques to be effective in improving scalability of SMMP operating systems: (i) an object-oriented structure that minimizes sharing by providing a natural mapping from independent requests to independent code paths and data structures, and (ii) the selective partitioning, distribution, and replication of object implementations in order to improve locality. We describe concrete examples of distributed objects and our experience implementing them. We demonstrate that the distributed implementations improve the scalability of operating-system-intensive parallel workloads.
Jonathan Appavoo, Dilma Da Silva, Orran Krieger, Marc A. Auslander, Michal Ostrowski, Bryan S. Rosenburg, Amos Waterland, Robert W. Wisniewski, Jimi Xenidis, Michael Stumm, Livio B. Soares
ACM Trans. Comput. Syst.2
2006 K42: building a complete operating system
abstract
K42 is one of the few recent research projects that is examining operating system design structure issues in the context of new whole-system design. K42 is open source and was designed from the ground up to perform well and to be scalable, customizable, and maintainable. The project was begun in 1996 by a team at IBM Research. Over the last nine years there has been a development effort on K42 from between six to twenty researchers and developers across IBM, collaborating universities, and national laboratories. K42 supports the Linux API and ABI, and is able to run unmodified Linux applications and libraries. The approach we took in K42 to achieve scalability and customizability has been successful.The project has produced positive research results, has resulted in contributions to Linux and the Xen hypervisor on Power, and continues to be a rich platform for exploring system software technology. Today, K42, is one of the key exploratory platforms in the DOE's FAST-OS program, is being used as a prototyping vehicle in IBM's PERCS project, and is being used by universities and national labs for exploratory research. In this paper, we provide insight into building an entire system by discussing the motivation and history of K42, describing its fundamental technologies, and presenting an overview of the research directions we have been pursuing.
Orran Krieger, Marc A. Auslander, Bryan S. Rosenburg, Robert W. Wisniewski, Jimi Xenidis, Dilma Da Silva, Michal Ostrowski, Jonathan Appavoo, Maria A. Butrico, Mark F. Mergen, Amos Waterland, Volkmar Uhlig
EuroSys6
2005 Providing Dynamic Update in an Operating System
Andrew Baumann, Gernot Heiser, Jonathan Appavoo, Dilma Da Silva, Orran Krieger, Robert W. Wisniewski, Jeremy Kerr
USENIX ATC, General Track4
2003 Adaptive Compressed Caching: Design and Implementation
abstract
We reevaluate the use of adaptive compressed caching in order to improve system performance through reduction of accesses to the backing stores. We propose a new and simple adaptability policy that adjusts the compressed cache size on-the-fly, and evaluate a compressed caching system with this policy through an implementation in a widely used operating system, Linux. We also redesign compressed caching in order to provide performance improvements for all tested workloads and address the problems faced in previous works and implementations that led to nonconclusive results. Among these fundamental modifications, our compressed cache is the first one to also compress file cache pages, to adaptively disable compression of clean pages when necessary and to address applications with poor compressibility. We tested a system with our adaptive compressed cache under many applications and benchmarks, each one with different memory pressures. The results showed performance improvements (up to 171.4%) in all of them if under memory pressure, and minimal overhead (up to 0.39%) when there is very light memory pressure. We show that this adaptive compressed cache design is actually considered as an effective mechanism for improvement in system performance.
Rodrigo S. de Castro, Alair Pereira do Lago, Dilma Da Silva
SBAC-PAD3
2003 System Support for Online Reconfiguration
Craig A. N. Soules, Jonathan Appavoo, Kevin Hui, Robert W. Wisniewski, Dilma Da Silva, Gregory R. Ganger, Orran Krieger, Michael Stumm, Marc A. Auslander, Michal Ostrowski, Bryan S. Rosenburg, Jimi Xenidis
USENIX ATC, General Track5
2001 CTK: Configurable Object Abstractions for Multiprocessors
abstract
The Configuration Toolkit (CTK) is a library for constructing configurable object based abstractions that are part of multiprocessor programs or operating systems. The library is unique in its exploration of runtime configuration for attaining performance improvements: 1) its programming model facilitates the expression and implementation of program configuration; and 2) its efficient runtime support enables performance improvements by the configuration of program components during their execution. Program configuration is attained without compromising the encapsulation or the reuse of software abstractions. CTK programs are configured using attributes associated with object classes, object instances, state variables, operations, and object invocations. At runtime, such attributes are interpreted by policy classes, which may be varied separately from the abstractions with which they are associated. Using policies and attributes, an object's runtime behavior may be varied by: 1) changing its performance or reliability while preserving the implementation of its functional behavior, or 2) changing the implementation of its internal computational strategy. CTK's multiprocessor implementation is layered on a Cthreads-compatible programming library, which results in its portability to a wide variety of uni- and multiprocessor machines, including a Kendall Square KSR-2 Supercomputer, SGI machines, various SUN workstations, and as a native kernel on the GP1000 BBN Butterfly multiprocessor. The platforms evaluated in the paper are the KSR and SGI machines.
Dilma Da Silva, Karsten Schwan, Greg Eisenhauer
IEEE Trans. Software Eng.1
1996 A parallel spectral model for atmospheric transport processes
abstract
The paper describes a parallel implementation of a grand challenge problem: global atmospheric modeling. The novel contributions of our work include (1) a detailed investigation of opportunities for parallelism in atmospheric global modeling based on spectral solution methods, (2) the experimental evaluation of overheads arising from load imbalances and data movement for alternative parallelization methods, and (3) the development of a parallel code that can be monitored and steered interactively based on output data visualizations and animations of program functionality or performance. Code parallelization takes advantage of the relative independence of computations at different levels in the earth's atmosphere, resulting in parallelism of up to 40 processors, each independently performing computations for different atmospheric levels and requiring few communications between different levels across model time steps. Next, additional parallelism is attained within each level by taking advantage of the natural parallelism offered by the spectral computations being performed (e.g. taking advantage of independently computable terms in equations). Performance measurements are performed on a 64-node KSR2 supercomputer. However, the parallel code has been ported to several shared memory parallel machines, including SGI multiprocessors, and has also been ported to distributed memory platforms like the IBM SP-2.
Thomas Kindler, Karsten Schwan, Dilma Da Silva, Mary Trauner, Fred Alyea
Concurr. Pract. Exp.3