-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Khder,

Sorry for the late response.

You can certainly experiment with extending the code to include more advanced 
scheduling functions.  The existing ranking of computers is something like 
this:

1) generate a set of all computers meeting the minimum requirements of the 
image, that the user has access to, and that the image is mapped to; order 
that list by node specs from low to high
2) remove from that set any computers that are already assigned reservations
3) if the image is virtual, remove any VMs for which the host doesn't have 
enough memory to load the VM (without overbooking)
4) assign the new reservation the first computer from that set for which an 
active management node can be found

There's actually 3 sets of computers being tracked - those already loaded with 
the image being requested, those set aside for a block allocation of which the 
user is a member, and then a set of both of those plus any available computers 
that are currently loaded with another image.

There is a configuration option (SCHEDULER_ALLOCATE_RANDOM_COMPUTER) in 
conf.php that allows the sets of computers to be randomized.  The motivation 
behind this option is for sites that have homogeneous virtual machines and 
hosts.  Randomizing the assigned computer should help spread the load equally 
among all existing hosts.

I hope that helps.

Josh

On Tuesday, October 21, 2014 9:01:17 PM Khder Omar wrote:
> Hi Josh,
> 
> Thanks for your reaction. I have checked the code source and I think the
> only function which might fulfill my question is function allocComputer(...)
> 
> Eventually, the function a piece test schedule code
> 
>  if(SCHEDULER_ALLOCATE_RANDOM_COMPUTER) {
> 
>               shuffle($blockids);
>               shuffle($currentids);
>               shuffle($computerids);
> 
> }
> 
> 
> I might assume if it was correctly understood that VCL scheduler process
> determines in first place a computer to be assigned to a management node
> from a given array or table in order otherwise it can be randomly chosen!
> Then, we can assume that the scheduling decision is still using a basic
> order as FCFS or a chance/Random order! It that assumed be correct ? if so,
> is there a way to extend the code by including more advanced scheduling
> functions ?
> 
> Best regards,
> PhD Team
> 
> 2014-10-21 16:11 GMT+01:00 Josh Thompson <[email protected]>:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > Khder,
> > 
> > The scheduling of reservations is actually done in the web code.  Have a
> > look
> > at the isAvailable function in the web/.ht-inc/utils.php file.
> > 
> > https://svn.apache.org/repos/asf/vcl/trunk/web/.ht-inc/utils.php
> > 
> > Josh
> > 
> > On Tuesday, October 21, 2014 4:39:05 PM Khder Omar wrote:
> > > Dear all,
> > > 
> > > We were wondering what kind of scheduler algorithms VCL might use ? Any
> > > hints about the scheduler source code will be appreciated. The idea is
> > > actually to check how VCL will perform while changing the scheduler
> > > algorithm [in management node].
> > > 
> > > 
> > > Thanks in advance
> > > 
> > > Best regards,
> > > Phd team
> > 
> > - --
> > - -------------------------------
> > Josh Thompson
> > VCL Developer
> > North Carolina State University
> > 
> > my GPG/PGP key can be found at pgp.mit.edu
> > 
> > All electronic mail messages in connection with State business which
> > are sent to or received by this account are subject to the NC Public
> > Records Law and may be disclosed to third parties.
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v2.0.22 (GNU/Linux)
> > 
> > iEYEARECAAYFAlRGd60ACgkQV/LQcNdtPQPMjQCdF/28fx+VlhmZV0WEMobcv+7p
> > OAEAn1mct5Iz5bWrLnnX/yQl13wMVwRg
> > =RMTU
> > -----END PGP SIGNATURE-----
- -- 
- -------------------------------
Josh Thompson
VCL Developer
North Carolina State University

my GPG/PGP key can be found at pgp.mit.edu

All electronic mail messages in connection with State business which
are sent to or received by this account are subject to the NC Public
Records Law and may be disclosed to third parties.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iEYEARECAAYFAlRSgzoACgkQV/LQcNdtPQMRBgCfaBOvBvUNnfdr5BLR7cnr+vMx
5uQAniwpvKVjVGdW//rvNBYCKu485Siy
=xWum
-----END PGP SIGNATURE-----

Reply via email to