136 research outputs found

    Genet: A Quickly Scalable Fat-Tree Overlay for Personal Volunteer Computing using WebRTC

    Full text link
    WebRTC enables browsers to exchange data directly but the number of possible concurrent connections to a single source is limited. We overcome the limitation by organizing participants in a fat-tree overlay: when the maximum number of connections of a tree node is reached, the new participants connect to the node's children. Our design quickly scales when a large number of participants join in a short amount of time, by relying on a novel scheme that only requires local information to route connection messages: the destination is derived from the hash value of the combined identifiers of the message's source and of the node that is holding the message. The scheme provides deterministic routing of a sequence of connection messages from a single source and probabilistic balancing of newer connections among the leaves. We show that this design puts at least 83% of nodes at the same depth as a deterministic algorithm, can connect a thousand browser windows in 21-55 seconds in a local network, and can be deployed for volunteer computing to tap into 320 cores in less than 30 seconds on a local network to increase the total throughput on the Collatz application by two orders of magnitude compared to a single core

    Encryption Key Search using Java-based ALiCE Grid

    Get PDF
    Encryption Key Search is a compute-intensive operation that consists of a brute-force search of a particular key in a given key space. Sequential execution time for a 56-bit encryption key search is approximately 200,000 years and therefore it is ideal to execute such operation in a grid environment. ALiCE (Adaptive and scaLable internet-based Computing Engine) is a grid middleware that offers a portable software technology for developing and deploying grid applications and systems. This paper discusses the development of the Encryption Key Search application on ALiCE and also presents the performance evaluation of ALiCE using this application.Singapore-MIT Alliance (SMA

    Design and implementation of a multi-agent opportunistic grid computing platform

    Get PDF
    Opportunistic Grid Computing involves joining idle computing resources in enterprises into a converged high performance commodity infrastructure. The research described in this dissertation investigates the viability of public resource computing in offering a plethora of possibilities through seamless access to shared compute and storage resources. The research proposes and conceptualizes the Multi-Agent Opportunistic Grid (MAOG) solution in an Information and Communication Technologies for Development (ICT4D) initiative to address some limitations prevalent in traditional distributed system implementations. Proof-of-concept software components based on JADE (Java Agent Development Framework) validated Multi-Agent Systems (MAS) as an important tool for provisioning of Opportunistic Grid Computing platforms. Exploration of agent technologies within the research context identified two key components which improve access to extended computer capabilities. The first component is a Mobile Agent (MA) compute component in which a group of agents interact to pool shared processor cycles. The compute component integrates dynamic resource identification and allocation strategies by incorporating the Contract Net Protocol (CNP) and rule based reasoning concepts. The second service is a MAS based storage component realized through disk mirroring and Google file-system’s chunking with atomic append storage techniques. This research provides a candidate Opportunistic Grid Computing platform design and implementation through the use of MAS. Experiments conducted validated the design and implementation of the compute and storage services. From results, support for processing user applications; resource identification and allocation; and rule based reasoning validated the MA compute component. A MAS based file-system that implements chunking optimizations was considered to be optimum based on evaluations. The findings from the undertaken experiments also validated the functional adequacy of the implementation, and show the suitability of MAS for provisioning of robust, autonomous, and intelligent platforms. The context of this research, ICT4D, provides a solution to optimizing and increasing the utilization of computing resources that are usually idle in these contexts

    Estudo sobre processamento maciçamente paralelo na internet

    Get PDF
    Orientador: Marco Aurélio Amaral HenriquesTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de ComputaçãoResumo: Este trabalho estuda a possibilidade de aproveitar o poder de processamento agregado dos computadores conectados pela Internet para resolver problemas de grande porte. O trabalho apresenta um estudo do problema tanto do ponto de vista teórico quanto prático. Desde o ponto de vista teórico estudam-se as características das aplicações paralelas que podem tirar proveito de um ambiente computacional com um grande número de computadores heterogêneos fracamente acoplados. Desde o ponto de vista prático estudam-se os problemas fundamentais a serem resolvidos para se construir um computador paralelo virtual com estas características e propõem-se soluções para alguns dos mais importantes como balanceamento de carga e tolerância a falhas. Os resultados obtidos indicam que é possível construir um computador paralelo virtual robusto, escalável e tolerante a falhas e obter bons resultados na execução de aplicações com alta razão computação/comunicaçãoAbstract: This thesis explores the possibility of using the aggregated processing power of computers connected by the Internet to solve large problems. The issue is studied both from the theoretical and practical point of views. From the theoretical perspective this work studies the characteristics that parallel applications should have to be able to exploit an environment with a large, weakly connected set of computers. From the practical perspective the thesis indicates the fundamental problems to be solved in order to construct a large parallel virtual computer, and proposes solutions to some of the most important of them, such as load balancing and fault tolerance. The results obtained so far indicate that it is possible to construct a robust, scalable and fault tolerant parallel virtual computer and use it to execute applications with high computing/communication ratioDoutoradoEngenharia de ComputaçãoDoutor em Engenharia Elétric

    ITU-PRP: Parallel Running Platform A Parallel Programming Framework For Java

    Get PDF
    Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2015Thesis (M.Sc.) -- İstanbul Technical University, Instıtute of Science and Technology, 2015Son yıllarda, Web teknolojilerinin kaydettiği gelişim ile birlikte Dağıtık ve Paralel İşleme sistemlerinde yeni kavramlar ortaya çıkmıştır. Artan İnternet kullanımı ve gelişen üst seviye programlama dilleri sayesinde, Mutli-Host Parallel Computing, Task Distribution, Peer-to-peer programlama gibi yeni kavramlar ortaya çıkmıştır. Özellikle İnternet tabanlı sistemlerin geliştirilmesinde öncü geliştrme ortamlarından biri olan Java, Paralel Programlama ile ilgili çalışmalarda yerini almaya başlayıp, çok sayıda Paralel Programlama arayüzünün ortaya çıkmasında rol oynamıştır. İlkel paralel programlama dillerinin kapsam genişletme ile ilgili yaşanan eksiklikler, paralel programlama uzmanlarının değişik çözümler üzerinde çalışmalarına yol açmıştır. Ayrıca, Multi-Host paralel sistemler Multi-Core (çok çekirdekli) paralel sistemler karşısında alternatif çözüm olarak değerlendirilmeye başlamıştır. Tez kapsaminda tasarlanan sistem, Java Geliştiricilerine uygulamalarını heterojen ve Multi-Host çalışan bir paralel paralel platforma taşıyabilecekleri bir framework sunmayi amaçlamaktadır. Bu sisteme göre geliştirilen uygulamalar Multi-Host bir ortamda paralel çalışarak performans iyileştirme sağlanacaktır. Framework kapsamında sunulan bir API kütüphanesi, paralel modellerin gerçeklenmesini sağlayacaktır. Üretilen paralel uygulamalar Parallel Running Platform (PRP) olarak adlandırılan bir ara katmana yüklenerek kayıt altına alınacaktır. İlgili ara katman paralel işlemlerin gerçeklenebilmesi adına kaynak yönetimi ve tahsis etme süreçlerini gerçekleştirmektedir. Bu ara katman, uygulamanın paralel modeline göre hızlı paralel işlem gerçekleştirebilme adına, eldeki en müsait durumdaki kaynak Host’lardan oluşan bir Görev Planı (Task Plan) oluşturmaktadır. Görev Planı önceden belirlenmiş bir plandan ziyade, kaynakların anlık durum ve müsaitliğine dikkate alınarak gerçek zamanda dinamik olarak oluşturulacaktır. ITU-PRP sistemi esas performans artışını büyük data kümelerini bölerek çoklu hostlara dağıtıp işleyerek elde etmektedir. Coarse-Grained Parallelism olarak adlandırılan bu modele göre dağıtılmış paralel görevler birbirinden bağımsız bir şekilde işlem sonuçlanana kadar işlem yapacaklardır. ITU-PRP paralel uygulama geliştiricilerine hem paralel çalışan uygulama geliştirebilecekleri hem de uygulamaların paralel çalışmasını sağlayan ortak bir çözüm sunmacaktır. ITU-PRP paralel yazılım geliştirme sürecinin basit, kolayca gerçeklenebileceği bir kütüphane sağlamayı amaçlamaktadır. İlgili kütüphane kullanıcılara bir JAR paketi halinde sunulmaktadır. İlgili kütüphane, implementasyon için gerekli arayüzlerden oluşmaktadır, ki bu arayüzler sıralı kodlamaya benzeyen özerk paralel görevler yazmaya imkan tanıyacaktır. Ek olarak, ITU-PRP paralel işleme için gerekli kaynakları hazırlayan bir ara katman sağlamaktadır. Task Execution Middleware olarak isimlendirilen bu ara katman sistemdeki değişken şartları göz önüne alarak dinamik kaynaklar sağlayacaktır. Paralel Programlama Framework’ü paralel işlemleri soyutlayarak kullanıcıdan gizlemektedir. Multi-Host paralel işlemler de yine kullanıcılara yansıtılmayan paralel işlemlerdir. Kullanıcı parallel görevlerin dağıdımı, çalıştırılması, paralel görevlerin birleştirilmesi, sonuç toplam, senkronizasyon ve bağlantı konularıula uğraşmayacaktır. Sadece uygulamaya ve gerçeklenen implementasyona ait bazı parametre girişlerini yapacaktır. Kullanıcılar geliştirdikleri uygulamaları sisteme yüklemektedirler. Sonrasında çalıştırma işlemlerini gelecekte yapacaklardır. Sisteme yüklenen uygulamalar Task olarak adlandırılıp görev olarak değerlendirileceklerdir. Kullanıcılar ITU-PRP sistemine kullanıcı bilgileriyle web tabanlı bir arayüz üzerinden giriş yapmaktadırlar. Bu web uygulama kullanıcılara Task Execution Middleware katmanının hizmetlerini sağlayacaktır. Yetkili kullanıcılar görev işlemlerini başlatmakta, ayrıca sonuçları ilgili ekranlardan görüntüleyebilmektedirler. ITU-PRP sistemi web tabanlı bir sistem olarak tasarlanmıştır. İlgili web sayfalarında Java Applet teknolojisi kullanılarak Java eklentisi ve prosesi çalıştırılmaktadır ve paralel işlemler bu proses içinde başlatılmaktadırlar. Sisteme giriş sonrası, yaratılan applet prosesleri kullanıcıya ait lokal verileri toplayarak Task Execution Middleware katmanına iletirler ve kayıt altında tutulurlar. İlgili Proses ve Thread’ler boşta oldukları sürece kaynak Host olarak davranmaktadırlar ve görev ataması için hazırda beklemektedirler. Kullanıcı görev talebinde bulunduğunda ise ilgili proses Client olarak davranacaktır ve gerekli işlemleri yapacaktır. ITU-PRP paralel çalıştırma kaynaklarının sağlanabilmesi için kullanıcılardan katkı beklemektedir. ITU-PRP sistemine bağlı bütün kullanıcılar potansiyel kaynak durumundadırlar. Sisteme bağlı Client’lar Host olarak kayıtlıdırlar, diğer kullanıcılara görev işlem talepleri için yardımcı görevini yürütmektedirler. Kullanımda olmadıkları süre içinde potansiyel kaynak durumunda kalacaklardır. Birçok bilgisayarın çoğunlukla boşta olduğu, tüm kaynaklarını kullanmadığı düşünüldüğünde, bu yaklaşım yüksek performans paralel uygulama gerçeklenmesi için bir yöntem olarak düşünülmüştür. Proje kapsamındaki Paralel Processing yöntemi Multi-Threaded task dağıtım modeline göre gerçeklenmektedir. ITU-PRP tasarımı, bir ana görevin çok sayıdaki alt görevi paralel bir döngü ile Host’lara dağıttığı, nesne yönelimli paralel modellerden oluşmaktadır. Bu tasarıma göre alt görevler paralel işlenmektedir. Sistemin nesne yönelimli olması, diğer ilkel paralel modellere göre bir artı olma özelliği taşımaktadır. ITU-PRP’nın veri paralelleştirme yaklaşımı kullanıcıya özelleştirilebilir bir yapı sunma yönündedir. Veri dağıtımı işleminin alt sınıfa Object Serialization yapılarak uygulanması kullanıcının veri paralelleştirme üzerinde kontrolünü sağlamaktadır. Veri dağıtımın nesne bazlı olması, mesaj bazlı yapıya kıyasla kullanıcıya alt görev veri tiplerini belirlemesi açısından esneklik sağlamaktadır. ITU-PRP için tasaralanan peer-to-peer protokolü proje kapsamını belirleyen önemli bir unsur olmuştur. İnternet üzerinde ağ erişim kısıtlamaları göz önüne alındığında farklı peer’lerin birbirlerine bağlanması zorlayıcı bir çalışma olmuştur ve bu konuda derin literatür araştırması yapılmıştır. 3 farklı NAT traversal tekniği olarak bilinen Relaying, Connection Reversal ve UDP Hole Punch Teknikleri kombine edilip internet üerindeki farklı Host’ların birbirine bağlanması sağlanmıştır. Yapılan tasarıma göre, bütün Host’lar birbirine bağlanacaktır ve bağlantılarını sisteme bağlı oldukları sürece aktif tutacaklardır. Ek olarak, Peer gruplama kavramı bölgesel host gruplarının oluşturmayı veya belirli görev gruplarının oluşturulabilmeyi amçlamaktadır. Ancak, bu uygulama sistemde kullanıcı sayısının artmasıyla daha anlamlı olacaktır, gelecekte yapılmak üzere şimdilik kapsam dışında bırakılmıştır. Deney sonuçları minimal sayıda kaynak Host’la yapılan Paralel Uygulama çalıştırmanın bir performans artışı sağlamadığını gstermiştir. Ancak, kaynak Host sayısının artmasıyla birlikte deney sonuçlarının istenilen performans artışını sağladığı gözlemlenmiştir. Ek olarak, kaynak sayısı attıkça ağ iletişim gecikmelerinin etkisinin azaldığını göstermiştir. Ayrıca, Sequential çalıştırılma süreleri nispeten yüksek olan uygulamaların ITU-PRP’ye uyarlanmasının daha olumlu performans iyileştirme sağlayacağı görülmüştür. Deneyler sırasında en yüksek Client-to-Host bağlantı gecikmesi 360ms olarak hesaplanmıştır. Ancak, gerçek Dünya’daki ağ iletişim sorunları göz önüne alındığında bu değerin daha yüksek olabileceği düşünülmektedir. Prensip olarak 2 saniye üzerinde sequential çalıştırma süresi olan uygulamaların ITU-PRP’nin paralel kalıplarına uyarlanması önerilmektedir. Çalıştırma süresi arttıkça, ITU-PRP’ye üzerinde başarım artışı daha fazla beklenmektedir. Her ne kadar ITU-PRP bir paralel programlama aracı olsa da, performans için diğer paralel programlama araçlarıyla yarışmamaktadır. ITU-PRP’nin asıl amacı global bir ortamda yüksek başarımlı uygulamaların çalıştırılabileceği Multi-Host ve heterojen bir sistem sağlamaktır. Ayrıca, kullanıcılar için bireysel işemci kaynaklarının global işlemci kaynağına dönüştürülmesi amaçlanmaktadır. Farklı Paralel programalama framework’lerinin performans karşılaştırmalarının yapılması için kullanılan Benchmark araçlarının ITU-PRP’nin performans ölçümleri için kullanılabilmesi sözkonusu olamamaktadır. Bunun nedeni heterojen ve Multi-Host çalışan ve global peer-to-peer protokolüyle çalışan farklı karakterli bir sistem olmasıdır. Ayrıca, üst kısımda da bahsedildiği üzere, ITU-PRP’nin amacı başka ürünlerin performansları ile yarışmak değil, farklı karakteristikleri olan özgün bir sistem sağlayarak, maliyetsiz, yüksek başarımlı ve global bir sistem sağlamaktır. Daha etkin bir sistem ancak yeterli sayıda kullanıcının katılımıyla sağlanabilecektir. Bu amaçla bir kullanıcı katılım ödüllendirme sistemi kurulacaktır. Kullanıcı sayılarının artmasıyla birlikte daha gerçekçi performans ölçümleri yapılım geleceğe yönelik sonuçlar incelenecektir ve ona göre sistemde iyileştirmeler yapılacaktır.During past decades, developments on Web technologies have brought various new concepts on Distributed and Parallel Computing systems. Increased Internet usage along with evolved capabilities of high level programming technologies, leaded to new concepts such as Multi-Host parallel computing, task distribution, peer-to-peer programming, etc. Especially, Java as the leading programming environment used on Internet basis systems, attracted the attention of Parallel Programming Studies, which resulted with the invention of many Parallel Programming Frameworks. The lack of native Parallel Programming Frameworks to provide High-Scale Parallel systems, oriented parallel programmers to develop various solutions. Also, multi-host parallel systems have become reasonable alternative solutions over multi-core parallel systems. The System built in these study aims providing a Parallel Programming Framework for Java Developers on which they can adapt their sequential application code to operate on a heterogeneous multi-host parallel environment. Developers would implement parallel models, by the help of an API Library provided under framework. Produced parallel applications would be submitted to a middleware called Parallel Running Platform (PRP), on which parallel resources for parallel processing are being organized and performed. The middleware creates Task Plans (TP) according to application’s parallel model, assigns best available resource hosts, in order to perform fast parallel processing. Task Plans will be created dynamically in real time according to resources actual utilization status or availability, instead of predefined/preconfigured task plans. ITU-PRP achieves better efficiency on parallel processing over big data sets and distributes divided base data to multiple hosts to be operated by Coarse-Grained parallelism. According to this model distributed parallel tasks would operate independently with minimal interaction until processing ends.Yüksek LisansM.Sc

    A Neuro-Symbolic Approach for Real-World Event Recognition from Weak Supervision

    Get PDF
    Events are structured entities involving different components (e.g, the participants, their roles etc.) and their relations. Structured events are typically defined in terms of (a subset of) simpler, atomic events and a set of temporal relation between them. Temporal Event Detection (TED) is the task of detecting structured and atomic events within data streams, most often text or video sequences, and has numerous applications, from video surveillance to sports analytics. Existing deep learning approaches solve TED task by implicitly learning the temporal correlations among events from data. As consequence, these approaches often fail in ensuring a consistent prediction in terms of the relationship between structured and atomic events. On the other hand, neuro-symbolic approaches have shown their capability to constrain the output of the neural networks to be consistent with respect to the background knowledge of the domain. In this paper, we propose a neuro-symbolic approach for TED in a real world scenario involving sports activities. We show how by incorporating simple knowledge involving the relative order of atomic events and constraints on their duration, the approach substantially outperforms a fully neural solution in terms of recognition accuracy, when little or even no supervision is available on the atomic events

    Economic-based Distributed Resource Management and Scheduling for Grid Computing

    Full text link
    Computational Grids, emerging as an infrastructure for next generation computing, enable the sharing, selection, and aggregation of geographically distributed resources for solving large-scale problems in science, engineering, and commerce. As the resources in the Grid are heterogeneous and geographically distributed with varying availability and a variety of usage and cost policies for diverse users at different times and, priorities as well as goals that vary with time. The management of resources and application scheduling in such a large and distributed environment is a complex task. This thesis proposes a distributed computational economy as an effective metaphor for the management of resources and application scheduling. It proposes an architectural framework that supports resource trading and quality of services based scheduling. It enables the regulation of supply and demand for resources and provides an incentive for resource owners for participating in the Grid and motives the users to trade-off between the deadline, budget, and the required level of quality of service. The thesis demonstrates the capability of economic-based systems for peer-to-peer distributed computing by developing users' quality-of-service requirements driven scheduling strategies and algorithms. It demonstrates their effectiveness by performing scheduling experiments on the World-Wide Grid for solving parameter sweep applications

    Conillon: Distributed computing platform for desktop grids

    Get PDF
    Grid computing enables organizations to integrate and share sets of heterogeneous resources into one synergetic and powerful system, in order to deliver e ciency and processing performance to demanding parallel applications. The aggregation and the coordination of these resources need to be integrated in a set of tools and protocols that reduce their complexity. Resource allocation is performed by a centralized manager that has complete knowledge of system state. Conillon is a distributed computing platform that manages and coordinates a set of actors. This platform enables heterogeneous workstations to function as part of a distributed system. Conillon is a lightweight, simple to use, and yet allows any number of di erent applications to be deployed and executed in parallel. Our platform maximizes the resource utilization in bene t of the demanding parallel applications. Parallel applications developers have access to a set of tools that simpli es the development process and the creation of tasks. The complexity related to the scheduling, distribution, and fault tolerant management of tasks is shielded from the programmer. Conillom platform has an integrated set of programms that work synergistically delivering a positivo ratio between e ciency and processing performance. We present our platform in detail as well as the results of extensive experiments about perfor- mance. The platform behaved relatively well and achieves an average speed up of up to x1.9 on the time needed to complete a job each time the computational resources are doubled.A computação paralela permite integrar e partilhar um conjunto de recursos heterogéneos num sistema poderoso e sinergético, de forma a poder disponibilizar e ciência e desempenho de processamento às aplicações paralelas. A agregação e coordenação destes recursos devem integrados num conjunto de ferramentas e protocolos que reduzam a complexidade inerente. A alocação de recursos é realizada por um gestor centralizado que tem conhecimento de todo o estado do sistema. Foi desenvolvida uma plataforma de computação distribuída, o Conillon, que coordena e gere um conjunto de participantes. A nossa plataforma permite que estações de trabalho heterogéneas façam parte de um sistema distribuído. A plataforma Conillon é simples, ocupando poucos recursos no entanto permite que múltiplas e distintas aplicações sejam executadas em paralelo. A plataforma maximiza a utilização de recursos em benefício das exigentes aplicações paralelas. Os programadores de aplicações paralelas têm acesso a um conjunto de ferramentas simples para criação de tarefas. A complexidade relacionada com o escalonamento, distribuição e tolerância a falhas é encapsulada do programador. A plataforma Conillon tem um conjunto integrado de programas que funcionam sinergicamente, entregando um rácio positivo entre e ciência e performance de computação. Neste trabalho presentamos a nossa plataforma em detalhe, bem como os resultados de testes extensivos sobre performance. A plataforma comporta-se relativamente bem, alcançando uma acelera ção de até 1.9x no tempo necessário para terminar um serviço sempre que o número de recursos computacionais é duplicado
    corecore