master scheduler
DESCRIPTION
Peoplesoft Master SchedulerTRANSCRIPT
-
10/04/2015 EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tprs/htm/tprs12.htm 1/6
ManagingPeopleSoftMasterSchedulerServersThischapterprovidesanoverviewofPeopleSoftMasterSchedulerfunctionsanddiscusses:
CircumstancesinwhichaMasterSchedulerisrequired.
HowtousemultipleMasterSchedulers.
MasterSchedulerrequestprioritization.
Howtomanageworkloadacrossservers.
UnderstandingPeopleSoftMasterSchedulerFunctionsAMasterSchedulerenablesloadbalancingofworkloadbyautomaticallyroutingrequeststoavailableProcessSchedulerservers,whichensuresthatyoumaintainoptimalprocessingatalltimes.Thisfeaturealsooffersfaulttoleranceinyourbatchenvironment.Intheeventofaserverfailure,aMasterSchedulercanredistributequeuedrequestsamongtheremainingactiveProcessSchedulerservers.Inaddition,anactiveMasterSchedulermanagesandcontrolsallProcessSchedulerserverdomainsthatareonthesamePeopleSoftdatabase.Itenforcesalloftherulesthatarespecifiedineithertheprocessorjobdefinitions,andmonitorstherunningofallprocesses.ItbecomesthecentralizedcontrolasitcheckstheProcessRequesttablelookingforanyqueuedrequeststorun,andthendispatchesthemtoanappropriateavailableProcessSchedulerserver.
AMasterSchedulercanbeactivatedinanyoftheProcessSchedulerserversinMicrosoftWindowsandUNIX.ThisoptionisenabledbydefaultwhenyouareconfiguringanewProcessSchedulerserverinWindowsandUNIX.However,thisoptionisnotavailableintheIBMUNIXSystemServices(USS).ForDB2/OS390customerswhointendtostartaProcessSchedulerinUSSandwanttotakeadvantageofthisfeature,aProcessSchedulerserverdomainmustbesetupineitheraMicrosoftWindowsorsupportedUNIXoperatingsystemotherthanUSS.
DisadvantagesofUsingMultipleProcessSchedulerswithNoMasterScheduler
WhenaMasterSchedulerisnotused,eachProcessSchedulerserverthatisbroughtupisresponsibleformanagingitsownworkloadbyqueryingtheProcessRequesttable.ThiscanbeproblematicwhenmultipleProcessSchedulerserversarebootedforthesamedatabase.Eachserverattemptstoschedulerequeststhatarespecifiedtoruneitheronthisspecificserveroranyserver.Ifanyrequestissettorunonanyserver,morethanoneservermayattempttoschedulethesamerequest.Toresolvethis,specifyaspecificserverthroughtheProcessRequestpage.However,thisbecomesdisadvantageousifthespecifiedservergoesdownbecausetherequestremainsqueueduntiltheProcessSchedulerserverisbroughtupagain.
OneotherdisadvantageofbringingupmultipleProcessSchedulerserverswithoutusingaMasterScheduleristheunevenbalanceofworkloadacrossallservers.PeopleSoftProcessSchedulerisconstrainedtohavenewrequestsscheduledwithnoservernametobepickeduponlybyserversthatarerunningintheoperatingsystemthatisspecifiedasthePrimaryOperatingSystemontheSystemSettingspage.Thisdiagramillustratesthisoption:
-
10/04/2015 EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tprs/htm/tprs12.htm 2/6
ExampleofMasterSchedulersetupusingthePrimaryOperatingSystemoption
Inthisspecificsetup,multipleserversarebroughtupinMicrosoftWindows(PSNT1andPSNT2),UNIX(PSUNX),andOS390(PSOS390),whereWindowsisthedesignatedprimaryoperatingsystem.Assumingthatallnewrequestswerescheduledwithablankservername,thenonlyPSNT1andPSNT2arequalifiedtopickuptheserequests.ThePSUNXorPSOS390willbeusedonlywhenrequestsarescheduledwiththenameoftheintendedProcessSchedulerserver.Also,youcanseeascenarioinwhichPSNT1willpickupmostoftherequests,leavingPSNT2underutilized.
TheMasterSchedulerresolvesthisproblembybecomingthecentralpointforqueryingtheProcessRequesttable.WhenaMasterSchedulerisavailable,allactivePeopleSoftProcessSchedulerServersswitchintoaremoteservermode.MasterSchedulerregistersandmonitorsanyactiveremoteservers.AftertheactiveMasterSchedulerprioritizesallnewqueuedrequests,itchecksallavailableserverstodecidewhichremoteserveristhemostappropriateforrunningaparticularrequestatruntime.Itattemptstoevenlyloadbalanceworkloadacrossallavailableservers,enablingthemosteffectiveuseofoverallcomputingresources.
CircumstancesinWhichaMasterSchedulerIsRequiredTheMasterSchedulerisanoptionalserverthatenablesyoutodistributeworkloadacrossmultipleProcessSchedulers.However,thistableshowsspecificcircumstancesthatmandatehavinganactiveMasterScheduleravailable:
Condition Reason
SchedulePSJobscontainingprocessesthatneedtorunindifferentoperatingsystems.
ThisinstanceisparticulartodatabaseplatformsthatallowhavingProcessSchedulerserversbootedinmultipleoperatingsystems.WhenthePrimaryOperatingSystemissettoUNIXorOS390,ProcessSchedulerwillattempttoassignallprocesseswithinaPSJobtoProcessSchedulerswiththisoperatingsystem.However,certainprocessescanrunexclusivelyfromWindowsforexample,anyCrystalorPS/nVisionprocesses.MasterSchedulerisrequiredtoredirectthePSJobitemtoPeopleSoftProcessScheduleronWindows.
ActiveScheduleJobSetsaredefined. OnlyaMasterSchedulercanscheduleanyactiveScheduleJobSets.TheMasterSchedulerisalsoresponsibleforschedulinganyrecurringScheduleJobSets.
Imposesystemconstraints,asdefinedinprocessorjobdefinitions. AprocessorjobcannowbedefinedwitheitherMutuallyExclusiveProcessesorMaxConcurrentvalues.ThesesystemconstraintswillbeimposedonlyifaMasterSchedulerisactive.
-
10/04/2015 EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tprs/htm/tprs12.htm 3/6
TheSystemLoadBalancingOptionissettoAssignToServerInAnyO/S.
Whenamachinegoesdown,MasterSchedulercantransferqueuedrequeststhatareassignedtothePeopleSoftProcessSchedulerServeronanonfunctioningmachinetoaPeopleSoftProcessSchedulerServerthatisstartedonanothermachine.
Purgeprocessrequestsandreports. AMasterSchedulermustberunningforthepurgeprocesstorun.
SeeAlso
CreatingScheduledJobSetDefinitions
DefiningJobs
SettingProcessDefinitionOptions
HowtoUseMultipleMasterSchedulersEachProcessSchedulerdomainonWindowsorUNIX(exceptforUSS)canbesetuptohaveaMasterSchedulerstarted.However,onlyoneMasterSchedulerisactivetocontroltheworkloadatanytime.TheotherMasterSchedulersremaininastateofidle.IftheactiveMasterSchedulergoesdown,thenoneoftheidleMasterSchedulerserverstakecontrol.IfaMasterSchedulerisnotavailable,thenthePSPRCSRVservers,currentlyinremoveservermode,switchbacktostandalonemodeandquerytheProcessRequesttabletofindwork.
TheProcessMonitorcomponentidentifiestheProcessSchedulerserverwheretheMasterSchedulerisactive.FromtheServerListtab,wherethelistofactiveProcessSchedulerserversaredisplayed,theMastercolumnindicateswhetheraMasterSchedulerisactiveinanyoftheservers.
SeeAlso
ViewingtheServerList
MasterSchedulerRequestPrioritizationWhenMasterSchedulertalliesallnewqueuedrequests,itattemptstoprioritizeallincomingrequestsbeforecheckingallregisteredactiveserverstofindtheappropriateserver.AsetofruleswereimplementedtohelptheMasterSchedulerprioritizetheaccumulatedqueuedrequeststhatarefoundintheProcessRequesttable.Allrequestsaresortedbasedontheseconditions:
1. Restartableorrecoveryprocess.
AnyprocessthatissetintheprocessdefinitionasrestartablewithanonzeroretrycountthatfailedinpreviousattemptsandcurrentlyhasarunstatusofRestartisgivenahigherpriorityandwillbeontopoftheprioritylist.Similarly,aprocessthatisautomaticallyscheduledbyPeopleSoftProcessSchedulerasarecoveryprocessforafailedrequestisalsoplacedontopoftheprioritylist.
2. ProcessescontainedinactivePSJobs.
TheMasterSchedulermonitorsallactivePSJobsthathaveprocessesthatarecurrentlyinitiatedinoneormoreProcessScheduler(remote)servers.WhentheMasterSchedulerdetectsthatavailableslotsareavailabletoassignrequeststoaremoteserverandpreparestoevaluateallqueuedrequests,itinitiatesprocesseswithintheseactivePSJobspriortoqueryingtheProcessRequesttablefornewqueuedrequests.
3. Accumulatedpriorityvalue.
Eachrequestisgivenanoverallpriorityvaluebasedonthedifferentpriorityoptionsthatareavailableinthesystem.MasterSchedulercalculatestheoverallprioritybasedontheorderofimportanceofthispriority,andrankstherequestaccordingly.However,eachserverdefinitionmaybeconfiguredwithdifferentpriorityoptions,andthereforemayresultinthesamerequestrankinghighinoneserverwhileitispositionedatthebottomofthelistinanother.
Forexample,anSQRreporthasaprocesscategoryofFinancials.ThiscategoryhasapriorityofHighinthePSNTserverdefinition,whilethesamecategoryhasapriorityofLowinthePSNT2serverdefinition.Inthissituation,theSQRreportwilllikelybeassignedtothePSNTserver.
-
10/04/2015 EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tprs/htm/tprs12.htm 4/6
Theoverallprioritywillbecalculatedbasedonthisorderofimportanceofallthesepriorityoptionsthatcanbeassignedtoarequest:
a. ProcessCategoryPriority:Thesystemwillassignthepriorityvalueoftheprocesscategorythatisspecifiedintheserverdefinitiontotherequest.IfaprocessbelongsinaPSJob,thenallprocessesinthisPSJobwillbeassignedtheprocesscategoryofthePSJob.InthecaseofacomplexPSJobinwhichaPSJobisembeddedwithinanotherPSJob,thenalltheprocesseswillbeassignedtheprocesscategoryofthemainPSJob.
b. Process/JobPriority:Thisisthepriorityasdefinedineithertheprocessorjobdefinition.Similartotheprocesscategory,allprocesseswithinaPSJobwillhavethepriorityofthemainPSJob.
c. ProcessTypePriority:Thisistheprioritythatisspecifiedintheserverdefinitionforeachprocesstypeitcanprocess.InthecaseofPSJob,theprocesswithinaPSJobwillhavetheprioritybasedonitsownprocesstype.
4. Rundateandtime.
Intheeventoftwoormorerequestshavingthesamecalculatedprioritybasedonallthecriterianotedabove,therequestwithanearlierrundateandtimewillbescheduledfirstbytheMasterScheduler.
HowtoManageWorkloadAcrossAvailableServersThissectionliststheparametersthatareusedtocontrolhowworkloadismanagedacrossavailableservers:
Parameter Modified In Options
PrimaryOperatingSystem SystemSettings Windows(default).UNIX.OS390.
LoadBalancingOption SystemSettings AssigntoPrimaryO/SOnly(default).AssigntoServerinAnyO/S.
ServerLoadBalancingOption ServerDefinition UseforLoadBalancing(default).DoNotUseforLoadBalancing.
RedistributeOption ServerDefinition RedistributetoanyO/S(default).RedistributewithsameO/S.DoNotRedistribute.
MaxAPIAware ServerDefinition Numericvalue(default=5).
ProcessCategoryMaxConcurrent ServerDefinition NumericvaluenotexceedingtheMaxAPIAware.
ProcessTypeMaxConcurrent ServerDefinition NumericvaluenotexceedingtheMaxAPIAware.
ServerStatus NA NA
PrimaryOperatingSystemOption
TheoperatingsystemthatisspecifiedinthePrimaryOperatingSystemfieldintheSystemSettingscomponentisthedefaultoperatingsystemthatisassignedtoallnewqueuedrequestswithablankservernamespecified.Ifthesystemdetectsthattheprocessintherequestcannotberuninthedefaultoperatingsystembasedontheprocesstypedefinition,thenthesystemassignstherequestwiththeoperatingsystemthatisfoundintheprocesstypedefinition.
LoadBalancingOptions
-
10/04/2015 EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tprs/htm/tprs12.htm 5/6
TheLoadBalancingOptionaffectshowMasterSchedulerperformstheroundrobinassignmentforallavailableremoteserversinattemptingtoloadbalancetheworkload.WhentheoptionAssigntoPrimaryO/SOnlyisselected,MasterSchedulerperformsaroundrobinonlytoallremoteserversthatarebootedintheprimaryO/S.
ThepatternforhowMasterSchedulerassignsrequeststoavailableserverswiththisoptionisillustratedinthisdiagram.
ExampleofMasterSchedulersetupusingtheLoadBalancingAssigntoPrimaryO/SOnlyoption
Inthiscase,thePrimaryOperatingSystemisMicrosoftWindows.ThisistheoperatingsysteminwhichbothPSNT1andPSNT2areinitiated.WhenMasterSchedulerfindsnewqueuedrequestswithblankservernames,theworkloadisevenlydistributedbetweenthetwoWindowsProcessSchedulerserversonly.AlthoughPSUNIX1andPSOS390areavailable,norequestsareassignedtotheseservers.TheremoteserversPSUNIX1andPSOS390areassignedonlywithnewrequeststhatarescheduledwiththisspecificservername.
IftheoptionissettoAssignToServerInAnyO/S,MasterSchedulerattemptstoloadbalanceworkloadtoallactiveservers.Atfirst,ittriestodistributeworktoserversresidingintheprimaryoperatingsystems.Whenithasreachedtheserverdefinitionlimitations,itattemptstorouteworktotheremainingactiveservers.Forexample,MasterSchedulerwillroundrobintheprioritizedliststobothPSNT1andPSNT2,astheseserversarebootedintheprimaryoperatingsystem.AssumingtheMaxAPIAwareforbothPSNT1andPSNT2isthree,thenthefirstsixprocessrequestswillbedistributedbetweenPSNT1andPSNT2,andthereamingrequestswillbedistributedtoPSUNIX1andPSOS390.
ThepatternforhowMasterSchedulerassignsrequeststoavailableserverswiththisoptionisillustratedinthisdiagram:
-
10/04/2015 EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tprs/htm/tprs12.htm 6/6
ExampleofMasterSchedulersetupusingtheLoadBalancingAssignToServerInAnyO/Soption
ServerLoadBalancingOptions
TheServerLoadBalancingOptionsfieldoftheserverdefinitionindicateswhethertheservercanbeusedforroutingnewrequestswithblankservernames.SelecttheUseForLoadBalancingoptionifthisservercanbeassignedrequestswithnospecificservernamespecified.Ifthisserverisintendedtobeusedonlyifnewprocessrequestsarescheduledwiththisserversname,setthisserverwiththeDoNotUseForLoadBalancingoption.
RedistributeOption
TheRedistributeOptionfieldoftheserverdefinitiondirectstheMasterSchedulertoacourseofactionintheeventthataserverisshutdownorencountersasoftwareorhardwarefailure.IfMasterSchedulerfindsnewqueuedprocessrequestswiththeserversnameidentifieranddetectsthattheserveriscurrentlyunabletoprocessanyrequests,oneofthefollowingthreeoptionscanbeselected:
RedistributetoanyO/S:MasterSchedulerattemptstoredistributerequestswiththeserversnameintoanyavailableactiveProcessSchedulerserver.
RedistributewithsameO/S:MasterSchedulerattemptstorerouterequestsonlytoanotherProcessSchedulerthatisbootedinthesameoperatingsystemasthisserver.
DoNotRedistribute:Masterschedulerdoesnotattempttorerouteanyrequestswiththeserversnameidentifier.Inthiscase,requestsremainqueueduntiltheserverisbootedup.
MaxAPIAwareandMaxConcurrentOptions
MasterSchedulerperiodicallymonitorsthecurrentworkloadofallactiveProcessSchedulerservers.Itensuresthatwhenyouareperformingaroundrobinassignment,itdoesnotexceedanyofthefollowinglimitationsthatarespecifiedintheserverdefinition:
MaxAPIAware:IndicatesthetotalnumberoftasksthataProcessSchedulercaninitiateconcurrently.
ProcessCategoryMaxConcurrent:Indicatestheupperlimitationofhowmanyprocesseswiththesameprocesscategorycanbeinitiatedconcurrently.
Note.ThenumberthatisassignedtothisfieldcannotexceedthevaluethatisspecifiedintheMaxAPIAwarefield.
ProcessTypeMaxConcurrent:SimilartotheProcessCategoryMaxConcurrentfield,thisvalueindicatesthelimitbasedontheprocesstypeoftherequest.
ServerStatus
MasterSchedulerroutesworkonlytoProcessSchedulerserverswithaserverstatusofRunning.IfaserverhasastatusofSuspended,Overload,orDown,MasterSchedulerdefersroutingworktotheserveruntilthestatusischangedbacktoRunning.MasterSchedulerevaluatestheappropriateactionforprocessrequeststhatareassignedtotheserverbasedontheRedistributeOptionsetting.
SeeAlso
DefiningSystemSettings
SettingServerDefinitions
EnterprisePeopleTools8.50PeopleBook:PeopleSoftProcessScheduler
Copyright1988,2010,Oracleand/oritsaffiliates.Allrightsreserved.