11,482 research outputs found
Learning from the Success of MPI
The Message Passing Interface (MPI) has been extremely successful as a
portable way to program high-performance parallel computers. This success has
occurred in spite of the view of many that message passing is difficult and
that other approaches, including automatic parallelization and directive-based
parallelism, are easier to use. This paper argues that MPI has succeeded
because it addresses all of the important issues in providing a parallel
programming model.Comment: 12 pages, 1 figur
A compiler approach to scalable concurrent program design
The programmer's most powerful tool for controlling complexity in program design is abstraction. We seek to use abstraction in the design of concurrent programs, so as to
separate design decisions concerned with decomposition, communication, synchronization, mapping, granularity, and load balancing. This paper describes programming and compiler techniques intended to facilitate this design strategy. The programming techniques are based on a core programming notation with two important properties: the ability to separate concurrent programming concerns, and extensibility with reusable programmer-defined
abstractions. The compiler techniques are based on a simple transformation system together with a set of compilation transformations and portable run-time support. The
transformation system allows programmer-defined abstractions to be defined as source-to-source transformations that convert abstractions into the core notation. The same
transformation system is used to apply compilation transformations that incrementally transform the core notation toward an abstract concurrent machine. This machine can be implemented on a variety of concurrent architectures using simple run-time support.
The transformation, compilation, and run-time system techniques have been implemented and are incorporated in a public-domain program development toolkit. This
toolkit operates on a wide variety of networked workstations, multicomputers, and shared-memory
multiprocessors. It includes a program transformer, concurrent compiler, syntax checker, debugger, performance analyzer, and execution animator. A variety of substantial
applications have been developed using the toolkit, in areas such as climate modeling and fluid dynamics
The Relationship Between Student Perceptions of Faculty Support and Student Perceptions of Clinical Competency
This study explored the relationship between student perceptions of faculty support and student perceptions of clinical competency in beginning and senior level nursing students. A total of 91 ethnically diverse, generic baccalaureate nursing students from a state funded university participated in the study. The participants completed Mozingo, Thomas, and Brooks\u27 (1995) Perceived Competency Scale (PCS), Shelton\u27s (2003) Perceived Faculty Support Scales (PFSS), and a demographic questionnaire. An independent t test determined that the observed mean difference between perceived competency scores in 46 beginning students (M=32.02) and 45 senior students (M=27.36) was statistically significant (t (89) =3.25,p\u3c.05). The students demonstrated high scores of perceived faculty support and demonstrated no difference between the beginning (M=94.82) and the senior (M=95.61) nursing students (t (87) =-.25,p\u3e.05). No statistically significant correlation was found between student perceptions of faculty support and their perceptions of clinical competency (r=-.20, p\u3e.05) in both groups. However, this study identified faculty behaviors that were perceived to enhance student achievement
CREOLE: a Universal Language for Creating, Requesting, Updating and Deleting Resources
In the context of Service-Oriented Computing, applications can be developed
following the REST (Representation State Transfer) architectural style. This
style corresponds to a resource-oriented model, where resources are manipulated
via CRUD (Create, Request, Update, Delete) interfaces. The diversity of CRUD
languages due to the absence of a standard leads to composition problems
related to adaptation, integration and coordination of services. To overcome
these problems, we propose a pivot architecture built around a universal
language to manipulate resources, called CREOLE, a CRUD Language for Resource
Edition. In this architecture, scripts written in existing CRUD languages, like
SQL, are compiled into Creole and then executed over different CRUD interfaces.
After stating the requirements for a universal language for manipulating
resources, we formally describe the language and informally motivate its
definition with respect to the requirements. We then concretely show how the
architecture solves adaptation, integration and coordination problems in the
case of photo management in Flickr and Picasa, two well-known service-oriented
applications. Finally, we propose a roadmap for future work.Comment: In Proceedings FOCLASA 2010, arXiv:1007.499
Teaching Excellence: What Great Teachers Teach Us
Given the shortage of nurse educators, we sought to better understand teaching excellence because it is crucial for developing the next generation of nurses. A grounded theory approach was used. The sample included 17 respondents, thought to be excellent teachers, from universities across the United States. Consenting respondents were asked, “What do you do to bring nursing to life with your students?” Using line-by-line coding and the constant comparative method, five major themes emerged: (a) engagement, (b) relevance, (c) student centeredness, (d) facilitation of learning, and (e) dynamic process of becoming an excellent nursing educator. We found that the core category, engagement, included the faculty being (a) current and knowledgeable, (b) being clear in communication of objectives/outcomes, (c) being student centered, (d) being able to draw all students into active questioning and learning so that the process of discovery is enjoyable, and (e) using multiple strategies in teaching the content. The process of becoming an excellent teacher involved “change from ‘instiller’ to ‘facilitator’ and laid the foundation for continued development of my teaching self.” Those beginning to teach or seeking to improve their teaching may find the results enlightening
Logic programming in the context of multiparadigm programming: the Oz experience
Oz is a multiparadigm language that supports logic programming as one of its
major paradigms. A multiparadigm language is designed to support different
programming paradigms (logic, functional, constraint, object-oriented,
sequential, concurrent, etc.) with equal ease. This article has two goals: to
give a tutorial of logic programming in Oz and to show how logic programming
fits naturally into the wider context of multiparadigm programming. Our
experience shows that there are two classes of problems, which we call
algorithmic and search problems, for which logic programming can help formulate
practical solutions. Algorithmic problems have known efficient algorithms.
Search problems do not have known efficient algorithms but can be solved with
search. The Oz support for logic programming targets these two problem classes
specifically, using the concepts needed for each. This is in contrast to the
Prolog approach, which targets both classes with one set of concepts, which
results in less than optimal support for each class. To explain the essential
difference between algorithmic and search programs, we define the Oz execution
model. This model subsumes both concurrent logic programming
(committed-choice-style) and search-based logic programming (Prolog-style).
Instead of Horn clause syntax, Oz has a simple, fully compositional,
higher-order syntax that accommodates the abilities of the language. We
conclude with lessons learned from this work, a brief history of Oz, and many
entry points into the Oz literature.Comment: 48 pages, to appear in the journal "Theory and Practice of Logic
Programming
Leadership and Learning: A Hechinger Institute Primer for Journalists
Outlines the role of leaders in improving schools and the issues they face, as a guide for education reporters. Includes examples of questions to ask, excerpts from articles, findings from Wallace Foundation studies, statistics, and a list of resources
Vienna FORTRAN: A FORTRAN language extension for distributed memory multiprocessors
Exploiting the performance potential of distributed memory machines requires a careful distribution of data across the processors. Vienna FORTRAN is a language extension of FORTRAN which provides the user with a wide range of facilities for such mapping of data structures. However, programs in Vienna FORTRAN are written using global data references. Thus, the user has the advantage of a shared memory programming paradigm while explicitly controlling the placement of data. The basic features of Vienna FORTRAN are presented along with a set of examples illustrating the use of these features
CWU Faculty Senate Minutes - 01/11/12
These are the official Central Washington University Faculty Senate minutes for the 01/11/12 meeting
Lessons in Early Learning: Building an Integrated Pre-K-12 System in Montgomery County Public Schools
Analyzes lessons and strategies from successful efforts to integrate districtwide early learning as part of pre-K-12 school reform, including full-day kindergarten, standards-based curricula, consistency, and parental and community involvement
- …