5,281 research outputs found

    Decentralized Adaptive Helper Selection in Multi-channel P2P Streaming Systems

    Full text link
    In Peer-to-Peer (P2P) multichannel live streaming, helper peers with surplus bandwidth resources act as micro-servers to compensate the server deficiencies in balancing the resources between different channel overlays. With deployment of helper level between server and peers, optimizing the user/helper topology becomes a challenging task since applying well-known reciprocity-based choking algorithms is impossible due to the one-directional nature of video streaming from helpers to users. Because of selfish behavior of peers and lack of central authority among them, selection of helpers requires coordination. In this paper, we design a distributed online helper selection mechanism which is adaptable to supply and demand pattern of various video channels. Our solution for strategic peers' exploitation from the shared resources of helpers is to guarantee the convergence to correlated equilibria (CE) among the helper selection strategies. Online convergence to the set of CE is achieved through the regret-tracking algorithm which tracks the equilibrium in the presence of stochastic dynamics of helpers' bandwidth. The resulting CE can help us select proper cooperation policies. Simulation results demonstrate that our algorithm achieves good convergence, load distribution on helpers and sustainable streaming rates for peers

    Distributed Training Large-Scale Deep Architectures

    Full text link
    Scale of data and scale of computation infrastructures together enable the current deep learning renaissance. However, training large-scale deep architectures demands both algorithmic improvement and careful system configuration. In this paper, we focus on employing the system approach to speed up large-scale training. Via lessons learned from our routine benchmarking effort, we first identify bottlenecks and overheads that hinter data parallelism. We then devise guidelines that help practitioners to configure an effective system and fine-tune parameters to achieve desired speedup. Specifically, we develop a procedure for setting minibatch size and choosing computation algorithms. We also derive lemmas for determining the quantity of key components such as the number of GPUs and parameter servers. Experiments and examples show that these guidelines help effectively speed up large-scale deep learning training

    Cooperative Interval Caching in Clustered Multimedia Servers

    Get PDF
    In this project, we design a cooperative interval caching (CIC) algorithm for clustered video servers, and evaluate its performance through simulation. The CIC algorithm describes how distributed caches in the cluster cooperate to serve a given request. With CIC, a clustered server can accommodate twice (95%) more number of cached streams than the clustered server without cache cooperation. There are two major processes of CIC to find available cache space for a given request in the cluster: to find the server containing the information about the preceding request of the given request; and to find another server which may have available cache space if the current server turns out not to have enough cache space. The performance study shows that it is better to direct the requests of the same movie to the same server so that a request can always find the information of its preceding request from the same server. The CIC algorithm uses scoreboard mechanism to achieve this goal. The performance results also show that when the current server fails to find cache space for a given request, randomly selecting a server works well to find the next server which may have available cache space. The combination of scoreboard and random selection to find the preceding request information and the next available server outperforms other combinations of different approaches by 86%. With CIC, the cooperative distributed caches can support as many cached streams as one integrated cache does. In some cases, the cooperative distributed caches accommodate more number of cached streams than one integrated cache would do. The CIC algorithm makes every server in the cluster perform identical tasks to eliminate any single point of failure, there by increasing availability of the server cluster. The CIC algorithm also specifies how to smoothly add or remove a server to or from the cluster to provide the server with scalability
    • …
    corecore