{"id":13419850,"url":"https://github.com/douban/paracel","last_synced_at":"2025-04-07T10:25:30.262Z","repository":{"id":29438317,"uuid":"32974376","full_name":"douban/paracel","owner":"douban","description":"Distributed training framework with parameter server","archived":false,"fork":false,"pushed_at":"2016-12-09T04:48:54.000Z","size":555,"stargazers_count":337,"open_issues_count":9,"forks_count":84,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-07-31T22:52:02.560Z","etag":null,"topics":["c-plus-plus","distributed-computing","graph","machine-learning"],"latest_commit_sha":null,"homepage":"http://paracel.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/douban.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-27T08:01:50.000Z","updated_at":"2024-02-07T18:17:46.000Z","dependencies_parsed_at":"2022-09-06T16:31:33.431Z","dependency_job_id":null,"html_url":"https://github.com/douban/paracel","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douban%2Fparacel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douban%2Fparacel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douban%2Fparacel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douban%2Fparacel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/douban","download_url":"https://codeload.github.com/douban/paracel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247633687,"owners_count":20970371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","distributed-computing","graph","machine-learning"],"created_at":"2024-07-30T22:01:21.875Z","updated_at":"2025-04-07T10:25:30.244Z","avatar_url":"https://github.com/douban.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"![logo](/logo.png) [![https://travis-ci.org/douban/paracel.png](https://travis-ci.org/douban/paracel.png)](https://travis-ci.org/douban/paracel) [![Join the chat at https://gitter.im/douban/paracel](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/douban/paracel?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) [![Coverity Scan Build](https://scan.coverity.com/projects/douban-paracel/badge.svg)](https://scan.coverity.com/projects/douban-paracel)\n\n# Paracel Overview\nParacel is a distributed computational framework, designed for many machine learning problems: Logistic Regression, SVD, Matrix Factorization(BFGS, sgd, als, cg), LDA, Lasso...\n\nFirstly, paracel splits both massive dataset and massive parameter space. Unlike Mapreduce-Like Systems, paracel offers a simple communication model, allowing you to work with a global and distributed key-value storage, which is called parameter server.\n\nUpon using paracel, you can build algorithms with following rules: 'pull parameters before learning \u0026 push local updates after learning'. It is rather a simple model(compared to MPI) which is almost painless transforming from serial to parallel. \n\nSecondly, paracel tries to solve the 'last-reducer' problem of iterative tasks. We use bounded staleness and find a sweet spot between 'improve-iter' curve and 'iter-sec' curve. A global scheduler takes charge of asynchronous working. This method is already proved to be a generalization of Bsp/Pregel by CMU.\n\nAnother advantage of paracel is fault tolerance while MPI has no idea with that.\n\nParacel can also be used for scientific computing and building graph algorithms. You can load your input in distributed file system and construct a graph, sparse/dense matrix.\n\nParacel is originally motivated by Jeff Dean's [talk](http://infolab.stanford.edu/infoseminar/archive/WinterY2013/dean.pdf) @Stanford in 2013. You can get more details in his paper: \"[Large Scale Distributed Deep Networks](http://static.googleusercontent.com/media/research.google.com/en//archive/large_deep_networks_nips2012.pdf)\".\n\n\nMore documents could be found below:\n\n[Project Homepage](http://paracel.io)\n\n[Quick Install](http://paracel.io/docs/api_reference.html#deployment)\n\n[20-Minutes' Tutorial](http://paracel.io/docs/quick_tutorial.html)\n\n[API Reference Page](http://paracel.io/docs/api_reference.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouban%2Fparacel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdouban%2Fparacel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouban%2Fparacel/lists"}