Browsing by Subject "Languages"
Now showing 1 - 3 of 3
Results Per Page
Sort Options
Item Built upon the Tower of Babel : language policy and the clergy in Bourbon Mexico(2016-05) Zakaib, Susan Blue; Deans-Smith, Susan, 1953-; Twinam, Ann; Butler, Matthew; Garrard-Burnett, Virginia; McDonough, KellyThis dissertation provides the first in-depth analysis of the “Bourbon language reforms”—a series of royal and ecclesiastical policies aimed at spreading the Spanish language in New Spain (now Mexico), enacted primarily between the 1750s and 1770s under the rule of the Bourbon dynasty. The limited scholarship on these reforms has assumed that a monolithic Bourbon state sought to mold a monolingual, Spanish-speaking empire. It has also suggested that creoles (American-born Spaniards), mendicants (Franciscan, Dominican and Augustinian friars), indigenous peoples, or some combination thereof responded by uniformly opposing the Bourbon state’s oppressive measures. I challenge both of these arguments by analyzing the central Mexican Catholic Church’s “language regime”—not only official policies, but also their historical context, and predominant ideologies about indigenous languages and their speakers—between 1700 and 1821. I demonstrate that indigenous languages were deeply integrated into the inner workings of the Church—not only its religious services, but also its bureaucracy and hierarchy. Native language competency helped to determine clerics’ career paths, forge socioeconomic hierarchies within the Church, and shape political disputes between warring royal and ecclesiastical factions. This key role of native languages in the Church helped induce the Bourbon language reforms. In spite of the reform effort, however, native languages continued to play a critical role in ecclesiastical administration through the end of the colonial period. This was due in large part to the fact that the Bourbon state did not seek uniformly to eradicate these languages; indeed, royal and ecclesiastical authorities could not even agree on precisely what their language policy should entail. Few priests (creole or not) felt the need to resist a reform effort that was contradictory, piecemeal, and of limited consequence for the Church. Contrary to many scholars’ assumptions, these findings indicate that modern Mexico’s linguistic inequality is not a persistent vestige of colonial policy. Instead, 18th-century language policy was only an early step in a centuries-long process leading to today’s particular brand of linguistic discrimination.Item Exploiting hardware heterogeneity and parallelism for performance and energy efficiency of managed languages(2015-12) Jibaja, Ivan; Witchel, Emmett; McKinley, Kathryn S.; Blackburn, Stephen M; Batory, Don; Lin, CalvinOn the software side, managed languages and their workloads are ubiquitous, executing on mobile, desktop, and server hardware. Managed languages boost the productivity of programmers by abstracting away the hardware using virtual machine technology. On the hardware side, modern hardware increasingly exploits parallelism to boost energy efficiency and performance with homogeneous cores, heterogenous cores, graphics processing units (GPUs), and vector instructions. Two major forms of parallelism are: task parallelism on different cores and vector instructions for data parallelism. With task parallelism, the hardware allows simultaneous execution of multiple instruction pipelines through multiple cores. With data parallelism, one core can perform the same instruction on multiple pieces of data. Furthermore, we expect hardware parallelism to continue to evolve and provide more heterogeneity. Existing programming language runtimes must continuously evolve so programmers and their workloads may efficiently utilize this evolving hardware for better performance and energy efficiency. However, efficiently exploiting hardware parallelism is at odds with programmer productivity, which seeks to abstract hardware details. My thesis is that managed language systems should and can abstract hardware parallelism with modest to no burden on developers to achieve high performance, energy efficiency, and portability on ever evolving parallel hardware. In particular, this thesis explores how the runtime can optimize and abstract heterogenous parallel hardware and how the compiler can exploit data parallelism with new high-level languages abstractions with a minimal burden on developers. We explore solutions from multiple levels of abstraction for different types of hardware parallelism. (1) For asymmetric multicore processors (AMP) which have been recently introduced, we design and implement an application scheduler in the Java virtual machine (JVM) that requires no changes to existing Java applications. The scheduler uses feedback from dynamic analyses that automatically identify critical threads and classifies application parallelism. Our scheduler automatically accelerates critical threads, honors thread priorities, considers core availability and thread sensitivity, and load balances scalable parallel threads on big and small cores to improve the average performance by 20% and energy efficiency by 9% on frequency-scaled AMP hardware for scalable, non-scalable, and sequential workloads over prior research and existing schedulers. (2) To exploit vector instructions, we design SIMD.js, a portable single instruction multiple data (SIMD) language extension for JavaScript (JS), and implement its compiler support that together add fine-grain data parallelism to JS. Our design principles seek portability, scalable performance across various SIMD hardware implementations, performance neutral without SIMD hardware, and compiler simplicity to ease vendor adoption on multiple browsers. We introduce type speculation, compiler optimizations, and code generation that convert high-level JS SIMD operations into minimal numbers of SIMD native instructions. Finally, to accomplish wide adoption of our portable SIMD language extension, we explore, analyze, and discuss the trade-offs of four different approaches that provide the functionality of SIMD.js when vector instructions are not supported by the hardware. SIMD.js delivers an average performance improvement of 3.3× on micro benchmarks and key graphic algorithms on various hardware platforms, browsers, and operating systems. These language extension and compiler technologies are in the final approval process to be included in the JavaScript standards. This thesis shows using virtual machine technologies protects programmers from the underlying details of hardware parallelism, achieves portability, and improves performance and energy efficiency.Item UbiPAL : secure messaging and access control for ubiquitous computing(2015-05) Bielstein, Cameron Taylor; Alvisi, Lorenzo; Dickerson, Robert F.The ubiquitous computing environment and modern trends in personal computing, such as body sensor networks and smart houses, create unique challenges in privacy and access control. Lack of centralized computing and the dynamic nature of human environments and access rules render most access control systems insufficient for this new category of systems. UbiPAL is an object-oriented communication framework for ubiquitous systems which provides secure communication and decentralized access control. UbiPAL uses a modified SecPAL implementation to provide reliable, ad hoc access control. The UbiPAL system uses cryptographically signed, publicly held namespace certificates and access control lists in the style of TLS certificates. This approach allows message authentication and authorization in an ad hoc, completely decentralized method while maintaining human readability of policy language. UbiPAL was implemented as a C++ library, made freely available at (1), and evaluated to have minimized overhead. Even on the slowest device evaluated, a Raspberry Pi, UbiPAL authentication and authorization adds less than 20 milliseconds to the delivery a message with a message overhead of 153 bytes. The UbiPAL programming model separates access policy from application programming and results in small amounts of code required from the application programmer, creating an accessible paradigm for programming ubiquitous computing systems.