Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modelling a Complex Batch Schedule in PeopleSoft David Kurtz Go-Faster Consultancy Ltd.

Similar presentations


Presentation on theme: "Modelling a Complex Batch Schedule in PeopleSoft David Kurtz Go-Faster Consultancy Ltd."— Presentation transcript:

1 Modelling a Complex Batch Schedule in PeopleSoft David Kurtz Go-Faster Consultancy Ltd.

2 Modelling a Complex Batch Schedule in PeopleSoft © Oracle Database Specialist –Independent consultant Performance tuning –PeopleSoft ERP –Oracle RDBMS Book –www.psftdba.comwww.psftdba.com UKOUG Director Server Tech & PeopleSoft Oak Table Who Am I?

3 Modelling a Complex Batch Schedule in PeopleSoft © Agenda Process Scheduler Priorities –Process Definition –Server Category Queuing in the Process Scheduler Modelling Process Scheduler behaviour

4 Modelling a Complex Batch Schedule in PeopleSoft © Meet my PeopleSoft system Lots of batch process run ad-hoc by users during the peak day. So many batch processes that there is a often a queue. Number of concurrent processes limited to prevent overload of CPU and Memory

5 Modelling a Complex Batch Schedule in PeopleSoft © Two business Tasks Completion of task A is more important to the business than task B. –Each task comprises on-line activity and more than one process on Process Scheduler Users do task A in the morning. They are supposed to task B in the afternoon. But they start task B as soon as they complete task A Users who start task B in the morning impede users who are still doing task A

6 Modelling a Complex Batch Schedule in PeopleSoft © Task B (yellow) displaces Task A (blue)

7 Modelling a Complex Batch Schedule in PeopleSoft © Suggestion In the mind of the business there is a hierarchy of processing. The hierarchy should be reflected in the configuration and behaviour of the Process Scheduler. If there is a queue on the Process Scheduler –Execute Task A processes in preference to Task B processes.

8 Modelling a Complex Batch Schedule in PeopleSoft © Process Priority

9 Modelling a Complex Batch Schedule in PeopleSoft © Server Category Priority

10 Modelling a Complex Batch Schedule in PeopleSoft © Define More Priorities

11 Modelling a Complex Batch Schedule in PeopleSoft © Testing Priorities Create a queue of processes on the Process Scheduler –Needs processes that run for a period of time –The dont need to do anything, just stay in status processing for a while

12 Modelling a Complex Batch Schedule in PeopleSoft © Java Sleep in AE Local JavaObject &Obj; Local ProcessRequest &RQST; MessageBox(0, "", 0, 0, "Sleep Begin for " | GFC_SLEEP_AET.DURATION.Value | " seconds "); &Obj = CreateJavaObject("java.lang.Thread"); &Obj.start(); &Obj.sleep(GFC_SLEEP_AET.DURATION.Value * 1000); MessageBox(0, "", 0, 0, "Sleep END");

13 Modelling a Complex Batch Schedule in PeopleSoft © Java Sleep in AE Sleep step in AE_SLEEP Various process AE_SLEEP1 … n Process definitions –Different priorities & categories Table GFC_SLEEP_RUN –specifies processes to run –AE_SLEEP_RUN submits processes

14 Modelling a Complex Batch Schedule in PeopleSoft © Create Test Run Run Offset Control PRCSNAME RUNDTTM Amount DURATION AE_SLEEP AE_SLEEP AE_SLEEP AE_SLEEP AE_SLEEP AE_SLEEP AE_SLEEP AE_SLEEP AE_SLEEP

15 Modelling a Complex Batch Schedule in PeopleSoft © Process Priority Quirk Row PRCS # SYSDATE INSTANCE PRCSNAME RUNDTTM BEGINDTTM ENDDTTM :14: AE_SLEEP1 13:03:27 13:03:55 13:07: :14: AE_SLEEP2 13:03:32 13:03:55 13:07: :14: AE_SLEEP3 13:03:37 13:03:55 13:07: :14: AE_SLEEP9 13:04:07 13:07:12 13:10: :14: AE_SLEEP5 13:03:47 13:07:13 13:10: :14: AE_SLEEP6 13:03:52 13:07:13 13:10: :14: AE_SLEEP4 13:03:42 13:10:31 13:13: :14: AE_SLEEP7 13:03:57 13:10:47 13:14: :14: AE_SLEEP8 13:04:02 13:10:47 13:14:01

16 Modelling a Complex Batch Schedule in PeopleSoft © Process Priority Quirk Delivered Priorities sometimes processed before custom added Priorities Not explicable from SQL submitted by Process Scheduler –Something in logic in program Process Categories process correctly

17 Modelling a Complex Batch Schedule in PeopleSoft © Process Categories Row PRCS PRCS SERVER RUN # INSTANCE PRCSNAME PRTY RUNDTTM BEGINDTT ENDDTTM ASSIGN STATUS PRCSCATEGORY AE_SLEEP5 5 19:25:10 19:25:23 19:28:23 PSNT 9 Default AE_SLEEP5 5 19:25:13 19:25:39 19:28:38 PSNT 9 Default AE_SLEEP5 5 19:25:16 19:25:39 19:28:38 PSNT 9 Default AE_SLEEP7 7 19:26:52 19:28:41 19:31:41 PSNT 9 Priority AE_SLEEP7 7 19:26:57 19:28:58 19:31:56 PSNT 9 Priority AE_SLEEP6 6 19:26:37 19:28:58 19:31:56 PSNT 9 Priority AE_SLEEP6 6 19:26:42 19:32:00 19:34:59 PSNT 9 Priority AE_SLEEP5 5 19:25:19 19:32:16 19:35:15 PSNT 9 Default AE_SLEEP5 5 19:25:22 19:32:16 19:35:16 PSNT 9 Default AE_SLEEP5 5 19:25:25 19:35:02 19:37:59 PSNT 9 Default

18 Modelling a Complex Batch Schedule in PeopleSoft © Priorities You can use all 9 priorities on Server Categories You can only use priories 1, 5, 9 on Process Definition Server Category Priority takes precedence over Category Priority –So now have 27 priorities instead of 9.

19 Modelling a Complex Batch Schedule in PeopleSoft © What happens if I change… Maximum number of concurrent processes. Process priorities and process category priorities. Process execution durations, possibly caused by changes to hardware. Increase in number of batch processes.

20 Modelling a Complex Batch Schedule in PeopleSoft © Create a Model Take what actually happened in production –Process Scheduler Request Table –Batch Timings Table Run Times Map processes to AE_SLEEP_n processes Create contents of GFC_SLEEP_RUN –Now can run processes that run at and for the same time as in production.

21 Modelling a Complex Batch Schedule in PeopleSoft © Linked Processing Model schedules each process at a given time. –operator runs a process, –Waits for it to begin and complete, –does some work, –Runs another process. What happens if first process completes more quickly?

22 Modelling a Complex Batch Schedule in PeopleSoft © Linked Processing Next process for same operator scheduled a fixed time after previous process completes. –One AE_SLEEP_n process schedules next process for same operator just before it completes. –Determine links between processes and put into AE_SLEEP_RC

23 Modelling a Complex Batch Schedule in PeopleSoft © Testing the Model Simulate production without any changes –Needed to subtract 2 seconds from run time to be AE_SLEEP_n run for the requested duration Fixed overhead of AE –Needed fudge factor – added 5 seconds to every process to make model look like production. Overhead of posting etc.

24 Modelling a Complex Batch Schedule in PeopleSoft ©

25 Modelling a Complex Batch Schedule in PeopleSoft © Predict Effect of Changes Make changes –Process and Category Priorities –Rerun the test

26 Modelling a Complex Batch Schedule in PeopleSoft ©

27 Modelling a Complex Batch Schedule in PeopleSoft © Actual Effect in Production

28 Modelling a Complex Batch Schedule in PeopleSoft © Conclusion Server Category Priority takes precedence over Process Priority. Extra priorities work in Server Categories Model accurately predicted behaviour in production. We encountered counter-intuitive behaviour that we did not predict. –Set expectations for users.

29 Modelling a Complex Batch Schedule in PeopleSoft © Acknowledgements Andy Mason –Business-Integrations –Java Sleep Utility –Test harness concept

30 Modelling a Complex Batch Schedule in PeopleSoft © Further Reading Process Scheduler Priority –http://blog.psftdba.com/2011/03/more-process- priority-levels-for.htmlhttp://blog.psftdba.com/2011/03/more-process- priority-levels-for.html Batch Modeller –http://www.go- faster.co.uk/docs.htm#BatchModel.pdfhttp://www.go- faster.co.uk/docs.htm#BatchModel.pdf

31 Modelling a Complex Batch Schedule in PeopleSoft © Conclusion

32 Questions?

33 Modelling a Complex Batch Schedule in PeopleSoft © Conclusion


Download ppt "Modelling a Complex Batch Schedule in PeopleSoft David Kurtz Go-Faster Consultancy Ltd."

Similar presentations


Ads by Google