201 research outputs found

    Adventures with portability

    Get PDF
    In this paper we describe the issues we are facing, and some of the solutions we have developed, in porting a complex multi-component simulation model of pastoral dairy-farming scenarios for execution on a high-performance Linux cluster. This exercise is part of a wider goal to develop and implement global optimization procedures for this model which necessarily require very large numbers of simulations to be executed. The structure of the model poses some particularly interesting challenges as it consists of a strongly object-oriented VisualWorks Smalltalk framework which instantiates third-party "component sub-models", written in a variety of standard (e.g. Fortran, C) and proprietary (e.g. ACSL, ObjectPascal) languages, to represent the functionality of the real-world farm sub-systems. Furthermore, it was unfortunately originally constrained to being implemented in a Microsoft Windows environment and made heavy use of the Microsoft COM/DCOM protocol for communication between objects. Although still in the early stages of on-going work, the techniques developed and lessons learned should be relevant to aspects of other situations where there is a requirement to run "legacy applications" on high-performance clusters

    Implementation of an API for distributed communication between processes in closed contexts

    Get PDF
    Dissertação de mestrado integrado em Engenharia de ComunicaçõesExistem atualmente diversas Application Programming Interfaces (APIs) que ajudam na programação de aplicações distribuídas. Na maior parte dos casos, estas utilizam de forma in exível um único tipo de protocolo aplicacional e interface, cando dependente dos protocolos de transporte já existentes e do sistema operativo. Para o programador, a stack de protocolos e o tipo de interface têm que ser decididos explicitamente antes do estabelecimento da comunicação entre os processos. Algumas APIs facilitam a programação ocultando alguns aspetos espec í cos dos mecanismos e protocolos de comunicação utilizados, disponibilizando uma interface mais homogeneizada. No entanto, a programação continua a não ser totalmente transparente e independente dos protocolos de comunicação utilizados, dos sistemas operativos e da localização relativa dos processos comunicantes. Além disso, estas APIs não tomam decisões sobre o mecanismo de comunicação a utilizar quando existem várias alternativas possíveis, sendo esta decisão da responsabilidade do programador. Num contexto de implementação de simuladores distribuídos e modulares para protocolos de redes de computadores e sistemas de comunicação, seria vantajoso poder-se utilizar uma API para comunicação dos processos de simulação que disponibilizasse apenas um único interface de programação e que decidisse de forma transparente o mecanismo ou protocolo comunicacional mais e ciente, tendo em conta a localização relativa dos processos. Nesta dissertação são abordadas as soluções semelhantes já existentes e é estudada uma API que pretende preencher estas lacunas. A arquitetura desta API será depois apresentada, assim como uma solução com base na investigação realizada. Por m, os resultados dos testes serão analizados e a conclusão apresentada. Esta dissertação foi desenvolvida no contexto do projeto RoutUM, um simulador de redes de computadores atualmente a ser desenvolvido pela Universidade do Minho.There are several Application Programming Interfaces (APIs) available to simplify the development of distributed applications. In most cases, they invariably use one type of application protocol and interface, being dependent of the existing transport protocols and operating system. To the programmer, the protocol stack and the type of interface must be explicitly chosen before initiating communication between processes. Some APIs simplify programming by hiding some speci c aspects about the communication protocols and mechanisms, revealing a more homogenized interface. However, the programming is still not completely transparent and independent from the communication protocols, the operating system and the relative location of the communicating processes. Also, they are unable to decide which communication mechanism to be used when there are several available possibilities, leaving that responsibility to the programmer. On the context of implementation of distributed and modular simulators for network protocols and communication systems, it would be desirable to be able to use an API that would allow communication between the processes while providing only one programming interface. It would then transparently decide the most e cient mechanism or communication protocol from the relative location of the communicating processes. This dissertation will present and discuss the currently available solutions and the problems associated with the development of an API which attempts to ll the missing features indicated above. The API's architecture will then be shown and developed into a solution based on the results from the investigation. In the end, this solution will be tested and the nal results will be presented. This dissertation was developed in the context of the RoutUM project, a network simulator being currently developed in the University of Minho

    ACMiner: Extraction and Analysis of Authorization Checks in Android's Middleware

    Get PDF
    Billions of users rely on the security of the Android platform to protect phones, tablets, and many different types of consumer electronics. While Android's permission model is well studied, the enforcement of the protection policy has received relatively little attention. Much of this enforcement is spread across system services, taking the form of hard-coded checks within their implementations. In this paper, we propose Authorization Check Miner (ACMiner), a framework for evaluating the correctness of Android's access control enforcement through consistency analysis of authorization checks. ACMiner combines program and text analysis techniques to generate a rich set of authorization checks, mines the corresponding protection policy for each service entry point, and uses association rule mining at a service granularity to identify inconsistencies that may correspond to vulnerabilities. We used ACMiner to study the AOSP version of Android 7.1.1 to identify 28 vulnerabilities relating to missing authorization checks. In doing so, we demonstrate ACMiner's ability to help domain experts process thousands of authorization checks scattered across millions of lines of code

    Improving the Performance of Wide Area Networks

    Get PDF
    Research in to the performance of wide area data networks is described in this thesis. A model of wide area network packet delays is developed and used to direct the research in to methods of improving performance. Wide area networks are slow and expensive compared to the computer systems that rely on them for communication. Typically data networks are packet switched in order to make efficient use of resources. This can lead to contention, and the mechanisms for resolving contention can bring about further delays when demand for resources is high. In this thesis, network users are viewed as interacting decision makers with conflicting interests, and Game Theory is used to analyse the effects users have on each other’s performance. It is asserted in this thesis that wide area network performance is an ethical issue as well as a technical one. Compression is examined as a technique for reducing network traffic load. While load reductions can reduce the time packets spend waiting in buffer queues experimental results show the compression process itself can present a bottleneck if CPU resources are limited. The other inhibiting factor with regard to wide area network performance is the time it takes for a signal to propagate through a transmission medium. Propagation delays are bounded by the speed of light and becomes significant as the distance between computer systems increases. Mirrors and Caches are methods of bringing data closer to the user, thereby reducing propagation delays and capping traffic loads on long haul communication facilities. The performance benefits of replicating data within a wide area network environment are studied in this thesis
    corecore