1 |
Emulace syscallů v HelenOSu / Syscall emulation support in HelenOSKabele, Vít January 2021 (has links)
There are two main options for running a program intended for one oper- ating system on a different one. We can modify the program to use the API of the new OS. Alternatively, we can provide a compatibility layer in the new OS, transparent to the program, without changing the application. HelenOS ecosystem already allows the first. This thesis focuses on supporting the lat- ter. This thesis describes the kernel binary interface and analyses existing solutions on Linux, Windows, and specialised systems. Then we describe our prototype that transparently traps syscalls and emulates them. The emula- tion is implemented fully in userspace (except for a small kernel trampoline), and its code is executed in the context of the original application. The result allows running some of the unmodified Linux programs (focusing on GCC toolchain) on the x86_64 instance of the HelenOS system. 1
|
2 |
Lessons Learned in Using COTS for Real Time High Speed Data DistributionDowning, Bob, Bretz, Jim 10 1900 (has links)
International Telemetering Conference Proceedings / October 25-28, 1993 / Riviera Hotel and Convention Center, Las Vegas, Nevada / Currently, there is a large effort being placed on the use of commercial-off-the-shelf (COTS) equipment to satisfy dedicated system requirements. This emphasis is being pursued in the quest of reducing overall system development costs. The development activity discussed in this paper consisted of determining some of the boundaries and constraints in the use of COTS equipment for high speed data distribution. This paper will present some of the lessons learned in developing a real-time high speed (greater than 1 MByte/sec) data distribution subsystem using COTS equipment based on industry accepted standards and POSIX P1003.1 operating system compliance.
|
3 |
Jämförelse av trådbibliotek för LinuxLundell, Daniel January 2003 (has links)
<p>Den dominerande implementationen av POSIX Threads-standarden för Linux har länge varit LinuxThreads. Detta trådbibliotek har på senare tid kritiserats för att leverera bland annat bristfällig effektivitet, skalbarhet och följsamhet till POSIX-standarden. Två nya projekt, Next Generation POSIX Threads (IBM, Intel) och Native POSIX Threads Library (Red Hat) siktar på att erbjuda bättre alternativ till LinuxThreads.</p><p>Denna undersökning jämför effektiviteten för dessa tre trådbibliotek, i synnerhet i samband med växling, skapande och synkronisering av trådar samt skalbarhet, huvudsakligen genom användandet av ett testprogram från Sun Microsystems.</p><p>Resultaten visar att NGPT skalar linjärt och är det klart effektivaste trådbiblioteket över 4600 trådar. NPTL är effektivast under 4600 trådar fast dess exponentiella kurva medför sämre resultat vid ett högre antal trådar. LinuxThreads skalade sämst och fick sämst resultat över 1200 trådar och resultaten visade även högst varians. Det rekommenderas att ersätta LinuxThreads med NPTL eller NGPT, beroende på kravet på skalbarhet.</p>
|
4 |
Serialisering av API mellan PC och inbyggda systemAndersson, Jonas January 2010 (has links)
Detta examensarbete behandlar problemet med att testa inbyggda system i kontorsmiljö. För att göra detta och därigenom kunna göra anrop på det inbyggda systemets API, måste detta anrop skickas som ett seriellt datapaket över en seriell kommunikationslänk som TCP/IP. Detta möjliggjordes genom att först upprätta en kommunikationslänk med protokollet TCP/IP, där användningen av POSIX-sockets tillämpades. För att packa ner och packa upp funktionsanropen till seriell data implementerades ett protokoll som följdes när detta utfördes. Hantering av data i samband med överföring över TCP/IP sköttes av ett protokoll vid namn BGSFP, ett protokoll som bygger på det tidigare protokollet TSFP.
|
5 |
Serialisering av API mellan PC och inbyggda systemAndersson, Jonas January 2010 (has links)
<p>Detta examensarbete behandlar problemet med att testa inbyggda system i kontorsmiljö. För att göra detta och därigenom kunna göra anrop på det inbyggda systemets API, måste detta anrop skickas som ett seriellt datapaket över en seriell kommunikationslänk som TCP/IP.</p><p>Detta möjliggjordes genom att först upprätta en kommunikationslänk med protokollet TCP/IP, där användningen av POSIX-sockets tillämpades. För att packa ner och packa upp funktionsanropen till seriell data implementerades ett protokoll som följdes när detta utfördes. Hantering av data i samband med överföring över TCP/IP sköttes av ett protokoll vid namn BGSFP, ett protokoll som bygger på det tidigare protokollet TSFP.</p>
|
6 |
Jämförelse av trådbibliotek för LinuxLundell, Daniel January 2003 (has links)
Den dominerande implementationen av POSIX Threads-standarden för Linux har länge varit LinuxThreads. Detta trådbibliotek har på senare tid kritiserats för att leverera bland annat bristfällig effektivitet, skalbarhet och följsamhet till POSIX-standarden. Två nya projekt, Next Generation POSIX Threads (IBM, Intel) och Native POSIX Threads Library (Red Hat) siktar på att erbjuda bättre alternativ till LinuxThreads. Denna undersökning jämför effektiviteten för dessa tre trådbibliotek, i synnerhet i samband med växling, skapande och synkronisering av trådar samt skalbarhet, huvudsakligen genom användandet av ett testprogram från Sun Microsystems. Resultaten visar att NGPT skalar linjärt och är det klart effektivaste trådbiblioteket över 4600 trådar. NPTL är effektivast under 4600 trådar fast dess exponentiella kurva medför sämre resultat vid ett högre antal trådar. LinuxThreads skalade sämst och fick sämst resultat över 1200 trådar och resultaten visade även högst varians. Det rekommenderas att ersätta LinuxThreads med NPTL eller NGPT, beroende på kravet på skalbarhet.
|
7 |
Resolução de um problema térmico inverso utilizando processamento paralelo em arquiteturas de memória compartilhada / Resolution of an inverse thermal problem using parallel processing on shared memory architecturesAnsoni, Jonas Laerte 03 September 2010 (has links)
A programação paralela tem sido freqüentemente adotada para o desenvolvimento de aplicações que demandam alto desempenho computacional. Com o advento das arquiteturas multi-cores e a existência de diversos níveis de paralelismo é importante definir estratégias de programação paralela que tirem proveito desse poder de processamento nessas arquiteturas. Neste contexto, este trabalho busca avaliar o desempenho da utilização das arquiteturas multi-cores, principalmente o oferecido pelas unidades de processamento gráfico (GPUs) e CPUs multi-cores na resolução de um problema térmico inverso. Algoritmos paralelos para a GPU e CPU foram desenvolvidos utilizando respectivamente as ferramentas de programação em arquiteturas de memória compartilhada NVIDIA CUDA (Compute Unified Device Architecture) e a API POSIX Threads. O algoritmo do método do gradiente conjugado pré-condicionado para resolução de sistemas lineares esparsos foi implementado totalmente no espaço da memória global da GPU em CUDA. O algoritmo desenvolvido foi avaliado em dois modelos de GPU, os quais se mostraram mais eficientes, apresentando um speedup de quatro vezes que a versão serial do algoritmo. A aplicação paralela em POSIX Threads foi avaliada em diferentes CPUs multi-cores com distintas microarquiteturas. Buscando um maior desempenho do código paralelizado foram utilizados flags de otimização as quais se mostraram muito eficientes na aplicação desenvolvida. Desta forma o código paralelizado com o auxílio das flags de otimização chegou a apresentar tempos de processamento cerca de doze vezes mais rápido que a versão serial no mesmo processador sem nenhum tipo de otimização. Assim tanto a abordagem utilizando a GPU como um co-processador genérico a CPU como a aplicação paralela empregando as CPUs multi-cores mostraram-se ferramentas eficientes para a resolução do problema térmico inverso. / Parallel programming has been frequently adopted for the development of applications that demand high-performance computing. With the advent of multi-cores architectures and the existence of several levels of parallelism are important to define programming strategies that take advantage of parallel processing power in these architectures. In this context, this study aims to evaluate the performance of architectures using multi-cores, mainly those offered by the graphics processing units (GPUs) and CPU multi-cores in the resolution of an inverse thermal problem. Parallel algorithms for the GPU and CPU were developed respectively, using the programming tools in shared memory architectures, NVIDIA CUDA (Compute Unified Device Architecture) and the POSIX Threads API. The algorithm of the preconditioned conjugate gradient method for solving sparse linear systems entirely within the global memory of the GPU was implemented by CUDA. It evaluated the two models of GPU, which proved more efficient by having a speedup was four times faster than the serial version of the algorithm. The parallel application in POSIX Threads was evaluated in different multi-core CPU with different microarchitectures. Optimization flags were used to achieve a higher performance of the parallelized code. As those were efficient in the developed application, the parallelized code presented processing times about twelve times faster than the serial version on the same processor without any optimization. Thus both the approach using GPU as a coprocessor to the CPU as a generic parallel application using the multi-core CPU proved to be more efficient tools for solving the inverse thermal problem.
|
8 |
Resolução de um problema térmico inverso utilizando processamento paralelo em arquiteturas de memória compartilhada / Resolution of an inverse thermal problem using parallel processing on shared memory architecturesJonas Laerte Ansoni 03 September 2010 (has links)
A programação paralela tem sido freqüentemente adotada para o desenvolvimento de aplicações que demandam alto desempenho computacional. Com o advento das arquiteturas multi-cores e a existência de diversos níveis de paralelismo é importante definir estratégias de programação paralela que tirem proveito desse poder de processamento nessas arquiteturas. Neste contexto, este trabalho busca avaliar o desempenho da utilização das arquiteturas multi-cores, principalmente o oferecido pelas unidades de processamento gráfico (GPUs) e CPUs multi-cores na resolução de um problema térmico inverso. Algoritmos paralelos para a GPU e CPU foram desenvolvidos utilizando respectivamente as ferramentas de programação em arquiteturas de memória compartilhada NVIDIA CUDA (Compute Unified Device Architecture) e a API POSIX Threads. O algoritmo do método do gradiente conjugado pré-condicionado para resolução de sistemas lineares esparsos foi implementado totalmente no espaço da memória global da GPU em CUDA. O algoritmo desenvolvido foi avaliado em dois modelos de GPU, os quais se mostraram mais eficientes, apresentando um speedup de quatro vezes que a versão serial do algoritmo. A aplicação paralela em POSIX Threads foi avaliada em diferentes CPUs multi-cores com distintas microarquiteturas. Buscando um maior desempenho do código paralelizado foram utilizados flags de otimização as quais se mostraram muito eficientes na aplicação desenvolvida. Desta forma o código paralelizado com o auxílio das flags de otimização chegou a apresentar tempos de processamento cerca de doze vezes mais rápido que a versão serial no mesmo processador sem nenhum tipo de otimização. Assim tanto a abordagem utilizando a GPU como um co-processador genérico a CPU como a aplicação paralela empregando as CPUs multi-cores mostraram-se ferramentas eficientes para a resolução do problema térmico inverso. / Parallel programming has been frequently adopted for the development of applications that demand high-performance computing. With the advent of multi-cores architectures and the existence of several levels of parallelism are important to define programming strategies that take advantage of parallel processing power in these architectures. In this context, this study aims to evaluate the performance of architectures using multi-cores, mainly those offered by the graphics processing units (GPUs) and CPU multi-cores in the resolution of an inverse thermal problem. Parallel algorithms for the GPU and CPU were developed respectively, using the programming tools in shared memory architectures, NVIDIA CUDA (Compute Unified Device Architecture) and the POSIX Threads API. The algorithm of the preconditioned conjugate gradient method for solving sparse linear systems entirely within the global memory of the GPU was implemented by CUDA. It evaluated the two models of GPU, which proved more efficient by having a speedup was four times faster than the serial version of the algorithm. The parallel application in POSIX Threads was evaluated in different multi-core CPU with different microarchitectures. Optimization flags were used to achieve a higher performance of the parallelized code. As those were efficient in the developed application, the parallelized code presented processing times about twelve times faster than the serial version on the same processor without any optimization. Thus both the approach using GPU as a coprocessor to the CPU as a generic parallel application using the multi-core CPU proved to be more efficient tools for solving the inverse thermal problem.
|
9 |
CDPthread: A POSIX-Thread Based Distributed Computing EnvironmentTseng, Guo-Fu 28 July 2009 (has links)
Due to the limitation of single machine¡¦s computing power, and the aspect of cost, distributed design is getting more and more popular nowadays. The Distributed Shared Memory (DSM) system is one of the most hot topics in this area. Most people are dedicated on designing a library or even a new language, in order to gain higher performance on DSM systems. As a consequence, the programmers are required to learn a new library or language. Even more, they have to handle synchronizations for the distributed environment. In this paper, we propose a design that is compatible with POSIX-Thread Environment. The distributed nature of the system described herein is totally transparent to the programmers.
|
10 |
Διάφανη απεικόνιση προγραμματιστικών μοντέλων υψηλού επιπέδου σε ετερόμορφες παράλληλες αρχιτεκτονικέςΒενέτης, Ιωάννης 16 March 2009 (has links)
- / -
|
Page generated in 0.0272 seconds