bluuebunny/crossref_metadata_2025_split huggingface dataset:
Modeling and improving data cache reliability
Authors: Kadayif Ismail , Kandemir Mahmut 
Published: September 2007

Soft errors arising from energetic particle strikes pose a significant reliability concern for computing systems, especially for those running in noisy environments. Technology scaling and aggressive leakage control mechanisms make the problem caused by these transient errors even more severe. Therefore, it is very important to employ reliability enhancing mechanisms in processor/memory designs to protect them against soft errors. To do so, we first need to model soft errors, and then study cost/reliability tradeoffs among various reliability enhancing techniques based on the model so that system requirements could be met.
Since cache memories take the largest fraction of on-chip real estate today and their share is expected to continue to grow in future designs, they are more vulnerable to soft errors, as compared to many other components of a computing system. In this paper, we first focus on a soft error model for L1 data caches, and then explore different reliability enhancing mechanisms. More specifically, we define a metric called AVFC (Architectural Vulnerability Factor for Caches), which represents the probability with which a fault in the cache can be visible in the final output of the program. Based on this model, we then propose three architectural schemes for improving reliability in the existence of soft errors. Our first scheme prevents an error from propagating to the lower levels in the memory hierarchy by not forwarding the unmodified data words of a dirty cache block to the L2 cache when the dirty block is to be replaced. The second scheme proposed selectively invalidates cache blocks to reduce their vulnerable periods, decreasing their chances of catching any soft errors. Based on the AVFC metric, our experimental results show that these two schemes are very effective in alleviating soft errors in the L1 data cache. Specifically, by using our first scheme, it is possible to improve the AVFC metric by 32% without any performance loss. On the other hand, the second scheme enhances the AVFC metric between 60% and 97%, at the cost of a performance degradation which varies from 0% to 21.3%, depending on how aggressively the cache blocks are invalidated. To reduce the performance overhead caused by cache block invalidation, we also propose a third scheme which tries to bring a fresh copy of the invalidated block into the cache via prefetching. Our experimental results indicate that, this scheme can reduce the performance overheads to less than 1% for all applications in our experimental suite, at the cost of giving up a tolerable portion of the reliability enhancement the second scheme achieves.
Understanding network delay changes caused by routing events
Authors: Pucha Himabindu , Zhang Ying , Mao Z. Morley , Hu Y. Charlie 
Published: September 2007

Network delays and delay variations are two of the most important network performance metrics directly impacting real-time applications such as voice over IP and time-critical financial transactions. This importance is illustrated by past work on understanding the delay constancy of Internet paths and recent work on predicting network delays using virtual coordinate systems. Merely understanding currently observed delays is insufficient, as network performance can degrade not only due to traffic variability but also as a result of routing changes. Unfortunately this latter effect so far has been ignored in understanding and predicting delay related performance metrics of Internet paths. Our work is the first to address this short coming by systematically analyzing changes in network delays and jitter of a diverse and comprehensive set of Internet paths. Using empirical measurements, we illustrate that routing changes can result in roundtrip delay increase of converged paths by more than 1 second. Surprisingly, intradomain routing changes can also cause such large delay increase.
Given these observations, we develop a framework to analyze in detail the impact of routing changes on network delays between end-hosts. Using topology information and properties associated with routing changes, we explain the causes for observed delay fluctuations and more importantly identify routing changes that lead to predictable effects on delay-related metrics. Using our framework, we study the predictability of delay and jitter changes in response to both passively observed interdomain and actively measured intradomain routing changes.
Backbone construction in selfish wireless networks
Authors: Lee Seungjoon , Levin Dave , Gopalakrishnan Vijay , Bhattacharjee Bobby 
Published: September 2007

We present a protocol to construct routing backbones in wireless networks composed of selfish participants. Backbones are inherently cooperative, so constructing them in selfish environments is particularly difficult; participants want a backbone to exist (soothers relay their packets) but do not want to join the backbone (so they do not have to relay packets for others).
We model the wireless backbone as a public good and use impatience as an incentive for cooperation. To determine if and when to donate to this public good, each participant calculates how patient it should be in obtaining the public good. We quantify patience using the Volunteer's Timing Dilemma (VTD), which we extend to general multihop network settings. Using our generalized VTD analysis, each node individually computes as its dominant strategy the amount of time to wait before joining the backbone. We evaluate our protocol using both simulations and an implementation. Our results show that, even though participants in our system deliberately wait before volunteering, a backbone is formed quickly. Further, the quality of the backbone (such as the size and resulting network lifetime) is comparable to that of existing backbone protocols that assume altruistic behavior.
An analysis of latent sector errors in disk drives
Authors: Bairavasundaram Lakshmi N. , Goodson Garth R. , Pasupathy Shankar , Schindler Jiri 
Published: September 2007

The reliability measures in today's disk drive-based storage systems focus predominantly on protecting against complete disk failures. Previous disk reliability studies have analyzed empirical data in an attempt to better understand and predict disk failure rates. Yet, very little is known about the incidence of latent sector errors i.e., errors that go undetected until the corresponding disk sectors are accessed.
Our study analyzes data collected from production storage systems over 32 months across 1.53 million disks (both nearline and enterprise class). We analyze factors that impact latent sector errors, observe trends, and explore their implications on the design of reliability mechanisms in storage systems. To the best of our knowledge, this is the first study of such large scale our sample size is at least anorder of magnitude larger than previously published studies and the first one to focus specifically on latent sector errors and their implications on the design and reliability of storage systems.
Theoretical bounds on control-plane self-monitoring in routing protocols
Authors: Rajendran Raj Kumar , Misra Vishal , Rubenstein Dan 
Published: September 2007

The distributed routing protocols in use today promise to operate correctly only if all nodes implement the protocol faithfully. A small insignificant set of nodes have, in the past, brought an entire network to a standstill by reporting incorrect route information. The damage caused by these erroneous reports, in some instances, could have been contained since incorrect route reports sometimes reveal themselves as inconsistencies in the state-information of correctly functioning nodes. By checking for such inconsitencies and taking preventive action, such as disregarding selected route-reports, a correctly functioning node could have limited the damage caused by the malfunctioning nodes.
Our theoretical study attempts to understand when a correctly functioning node can, by analysing its routing-state, detect that some node is misimplementing route selection. We present a methodology, called Strong-Detection that helps answer the question. We then apply Strong-Detection to three classes of routing protocols: distance-vector, path-vector, and link-state. For each class, we derive low-complexity self-monitoring algorithms that take as input the routing state and output whether any detectable anomalies exist. We then use these algorithms to compare and contrast the self-monitoring power ofthese different classes of protocols in relation to the complexity of the irrouting-state.
Analyzing commercial processor performance numbers for predicting performance of applications of interest
Authors: Hoste Kenneth , Eeckhout Lieven , Blockeel Hendrik 
Published: September 2007

Current practice in benchmarking commercial computer systems is to run a number of industry-standard benchmarks and to report performance numbers. The huge amount of machines and the large number of benchmarks for which performance numbers are published make it hard to observe clear performance trends though. In addition, these performance numbers for specific benchmarks do not provide insight into how applications of interest that are not part of the benchmark suite would perform on those machines.
In this work we build a methodology for analyzing published commercial machine performance data sets. We apply statistical data analysis techniques, more in particular principal components analysis and cluster analysis, to reduce the amount of information to a manageable amount to facilitate its understanding. Visualizing SPEC CPU2000 performance numbers for 26 benchmarks and 1000+ machines in just a few graphs gives insight into how commercial machines compare against each other.In this work we build a methodology for analyzing published commercial machine performance data sets. We apply statistical data analysis techniques, more in particular principal components analysis and cluster analysis, to reduce the amount of information to a manageable amount to facilitate its understanding. Visualizing SPEC CPU2000 performance numbers for 26 benchmarks and 1000+ machines in just a few graphs gives insight into how commercial machines compare against each other.
In addition, we provide a way of relating inherent program behavior to these performance numbers so that insights can be gained into how the observed performance trends relate to the behavioral characteristics of computer programs. This results in a methodology for the ubiquitous benchmarking problem of predicting performance of an application of interest based on its similarities with the benchmarks in a published industry-standard benchmark suite.
Serious fun in computer science
Authors: Curzon Paul 
Published: September 2007

Computer Science has been in crisis for several years. Interest in studying it has dropped dramatically. We can wring our hands, or we can do something about it. Computer Science needs to engage with pure outreach: selling the subject (for free). Our approach has been to do this by just going out and having innovative fun. This is more effective than selling specific courses or institutions. CS is after all a naturally exciting, innovative and thought-provoking subject (Oh, and by the way there are good jobs at the end too).
We see it as a Renaissance subject (so who cares what it's called or which variation the future depends on). It sits in a unique position, centrally connected to all of the sciences, arts and humanities. We are passionate about science generally, so we go out and spread that enthusiasm about it all.
What have we been doing? There is cs4fn (www.cs4fn.org) a website and magazine that we've been writing for the sheer enjoyment of it; Sodarace (www.sodarace.net) where over 130 000 registered humans and computers compete in an online Olympics; Brain Academy (www.brainacademy.qmul.ac.uk), the Compute-Ability competition with career enhancing prizes; research talks for kids on Artificial Intelligence, women in technology, disability and mutant super-hero powers (actually its about search algorithms) and so on; a Computer Science Magic show (you have to promise not to tell anyone the secrets); and exhibits at the Royal Society Summer Exhibition on mathematical illusions and their link to computer science (www.cs4fn.org/illusions). We build brains that play Snap from rope and toilet roll, and introduce a piece of paper more intelligent than anyone in the room. Kids act out Turing Tests (can you tell the human from the robot?), and we challenge them to solve puzzles with CS twists. We do real research too of course: a spin-out of our EPSRC funded research project on Human Error and Interactive Systems includes an online SpaceInvaders game-experiment (www.cs4fn.org/humanerror) the data from which helps us understand the causes of human error: can you consistently avoid making the mistake that will blow up your ship and lose all your points?.
What age group should we be targeting? Sixth formers? A major issue is that school ICT, vital as it is, gives a poor impression of how being a computer scientist is about being an innovative, creative, computational thinker. By the sixth form it is too late. It is the younger kids we have to get the message to. An early experiment has been teaching a version of a graduate level course on usability evaluation to primary school kids (www.cs4fn.org/manorside). They proved to be very innovative and "amazing", "will stay in my mind forever", "I want to teach others in the school what we did" were some of their comments.
Our approach works: teachers, industry and the International Review of ICT have commended us & and we have seen an increase in undergraduate applications of over 130% in 2 years. Not bad when we are just having fun: serious fun.
ProofChecker
Authors: Stallmann Matthias F. , Balik Suzanne P. , Rodman Robert D. , Bahram Sina , Grace Michael C. , High Susan D. 
Published: September 2007

ProofChecker is a graphical program based on the notion of formal correctness proofs that allows students, both sighted and visually impaired, to draw a deterministic finite automaton (DFA) and determine whether or not it correctly recognizes a given language. Sighted students use the mouse and graphical controls to draw and manipulate the DFA. Keyboard shortcuts, together with the use of a screen reader to voice the accessible descriptions provided by the program, allow visually impaired students to do the same.
Because the states of a DFA partition thelanguage over its alphabet into equivalence classes, each state has a language associated with it. Conditions that describe the language of each state are entered by the student in the form of conditional expressions with function calls and/or regular expressions. A brute-force approach is then used to check that each state's condition correctly describes all of the strings in its language and that none of the strings in a state's language meet the condition for another state. Feedback is provided that either confirms that the DFA correctly meets thegiven conditions or alerts the student to a mismatch between the conditions and the DFA.
A student's DFA can be saved in an XML file and submitted for grading. An automated checking tool, known as ProofGrader, can be used to compare a student's DFA with the correct DFA for a given language, thus greatly speeding up the grading of student assignments.
VERKKOKE
Authors: Alstes Anton , Lindqvist Janne 
Published: September 2007

We present an Online Teaching Environment (OTE) that supports "learning by doing" philosophy in teaching telecommunications software and routing. "Learning by doing" is achieved by giving students a programming assignment that introduces them to socket programming and gives them the opportunity to practice implementing simplified routing protocols. The OTE creates individual assignments for students, accepts solution submissions via the Internet, and, finally, checks the assignments automatically. The system also notifies the students of possible mistakes in their solutions, so they can learn from their mistakes, fix them and resubmit the corrected solutions. The teacher needs only to start the system when the course begins and verify the assignment results when students have finished their work.
The OTE is compatible with modern learning management systems through its adherence to the SharableContent Object Reference Model (SCORM) specification. The OTE supports intricate and realistic programming assignments through representative topology generation and sophisticated network simulation.
Visualizing berkeley socket calls in students' programs
Authors: Brown Christian , McDonald Chris 
Published: September 2007

The Berkeley Sockets API is a library of functions, macros, and data structures enabling a program to initiate and manage network communication between two or more processes on the same machine, or across a network of machines. The API is the main mechanism by which programs communicate with the operating system's TCP/IP stack and thereby with almost all Internet services and programs.
Socket programming opens a new realm of development for Computer Science students as they are able to create programs that can communicate via the Internet. However, while learning, students frequently misuse the sockets API or have difficulty understanding where run-time and logic errors in their code occur.
Students learning about sockets are typically presented with a series of static diagrams in textbooks that increase in complexity with each progression. These diagrams may not allow the reader to easily comprehend the transition between each step, nor understand which functions in the API perform the events. Space constraints in textbooks often limit a sequence of diagrams to two or three, whereas over 10 calls to the sockets API are often necessary to initiate and undertake communication. Surprisingly, there are no effective tools or general techniques for debugging students' socket programs.
In this paper we present a software solution to visualize the execution of students' programmed interactions with the Berkeley Sockets API. The tool accepts the source code of two or more networking programs and compiles them in such a way that, at run-time, their calls to the socket API and related functions are displayed, together with an annotation of activity and error conditions. The program is not simply a static simulator - it provides a means to visualize the network events in actual student developed program.
Collaboration and the importance for novices in learning java computer programming
Authors: Bagley Carole A. , Chou C. Candace 
Published: September 2007

The authors propose that a correlation exists between collaboration and success by novices when learning computer programming. Research in an introductory course was conducted that focused on answering several questions: At what time in their learning java programming and algorithmic problem solving, would a student benefit best by collaboration? At what time during the problem solving process would the learner benefit greatest by collaboration? Would the student benefit greater by collaborating with 1 student in the class, a group, or an expert mentor/coach? What cognitive and affective strategies are used during various types of collaboration? Does collaboration increase problem solving performance by females.
This research will advance fundamental knowledge of teaching and learning of computer science. It will further the understanding of problem solving and strategies used in learning computer programming and whether collaboration is important.
Targeting program visualizations
Authors: Lahtinen Essi , Järvinen Hannu-Matti , Melakoski-Vistbacka Suvi 
Published: September 2007

To instruct students on the use of visualizations most beneficially the teacher needs to know who the students are that use the visualizations, for what they use them, and what kind of problems they have. Empirical research has been carried out on the educational impact of visualizations in test situations, but this survey presents the students' normal way of studying when the use of visualizations is voluntary.
We present the results of an international survey of 335 students who are studying programming and whose teachers have offered visualizations as extra material for the students. Their teachers also answered the survey. The article analyses different kinds of student groups, their usage of visualizations, and problems with them. We explore the background and motivation of the students and compare this information to their experiences of the use of the visualizations.
We identified two groups of students who use visualizations differently: moderately successful students able to work independently and weaker students who need teachers guidance with the visualizations. We suggest tips for teachers on how to use visualizations in teaching and provide information for the development of program visualization tools.
Yahoo University hackday
Authors: Rowan Murray , Hawkins Tim , Cobley Andy 
Published: September 2007

Yahoo has recently embarked upon a program of supporting and organising "University Hack Days". This program is designed to help Yahoo reach out to new generations of aspiring web developers, and provide them with early experience of what it's like to work in the competitive new media development industry.

HackDays
[1]
are also a great vehicle for Yahoo to use to help foster awareness of its APIs and other technologies from the Yahoo Developer Network
[2]
that can be used and mixed to create innovative new "mash-ups".

The program encourages students to perform the following tasks: 1. To come up with a new and innovative idea that has relevance to the new media industry. 2. To present their ideas in a fashion designed to inform others about the nature of their project, and to invite discussion and feedback from industry professionals. 3. To develop a working prototype using the most appropriate technologies and development techniques. 4. To present the finished project in a competitive environment similar to that met in commercial organisations.
The "University Hack Day" is an extension of the "Hack Day" program that Yahoo has been running internally for its engineers and now publicly in the "Open Hack Day" program.
Is the shortcut the quickest way to go?
Authors: Dickinson Anne 
Published: September 2007

The author works in Coventry University and has been engaged in tutoring a student with disabilities who had enrolled for a degree in Business and IT at Coventry University. To do this, the author drew upon previous experiences in the Further Education (FE) sector at a College in the Midlands, where she taught Information Technology (IT) to diverse groups of students who had varied abilities. The ages of the FE students ranged from pre-16, visiting the College from a local special school to attend "taster" sessions, to adults, some of whom were seniors, attending a day centre for disabled adults that had a special arrangement for College tutors to give classes.
The degree student was a white cane user, read Braille and navigated the computer with screen reader software. During her time at University, she took on an ambassadorial role: she gave guided tours to prospective students around the University campus during open days! From time to time she would recount stories that she described as amusing but which clearly showed ignorance on the part of her tutors.
The Degree course in Business and IT had several workshops in Computing including statistics where spreadsheets and specialist software were used. The author was asked to tutor the student for the IT workshops of a year-long module. This included translating the instructional handouts from mouse-based to keyboard-based, being aware of potential problems with specialist software and the quirks of the online learning system (WebCT) [1] and finding ways of working around them all.
This "tips and techniques" session gives an account of some of these issues around the student's stories, creating and translating instructions for keyboard use navigating the keyboard using JAWS, and includes proposed solutions.