Hi Pouya, All of CloudStack's RA heuristics are applied by deployment planner modules and host/storagepool allocators to decide the order in which resource(pods,clusters,hosts,storage pools) will be considered for a VM deployment/migration.
Following are the existing flavors of these modules: random: This just shuffles the list of clusters/hosts/pools that is returned by the DB lookup. Random does not mean round-robin - So if you are looking for a new host being picked up on every deployment - that may not happen. firstfit: This makes sure that clusters are ordered by available capacity and first hosts/pools having enough capacity is chosen within a cluster. userdispersing: For a given account, this makes sure that VM's are dispersed - so clusters/hosts with minimum number of running VM's for that account are chosen first. Storage Pool with minimum number of Ready storage pools for the account is chosen first. Userconcentratedpod: Always choose the pod/cluster with max. number of VMs for the account - concentrating VM's at one pod. You can find the source code related to above under: server/src/com/cloud/deploy, plugins/deployment-planners, plugins/host-allocators, plugins/storage-allocators Hope this helps. Thanks, Prachi -----Original Message----- From: Linux TUX [mailto:azgil.i...@yahoo.com] Sent: Friday, June 21, 2013 5:48 AM To: dev@cloudstack.apache.org Subject: Resource Management/Allocation for CS Hi All, Does anybody can tell me which parts of CloudStack's source code are related to its Resource Allocation (RA) process? By RA, I mean the part of code that is responsible for VM migration or process migration, if there is any. As you know, there are two kinds of RA, to wit: 1) server side such as VM migration, or 2) client side such as clients' proprietary schedulers. Furthermore, client side's RA's success is dependent on knowing sever side's RA very well. So, since i am interested to work on RA of CloudStack, if, with regard to the above information, you have any idea, please tell me? Also, if your are working on it, please let me know. Finally, it would be really approciated if you tell me which parts of the source code is related to implementation of CloudStack's RA algorithms. Best regards, Pouya