อัลกอริทึมสำหรับการคำนวณเวลากระบวนการของคุณเอง วิธีการเรียนรู้วิธีการกำหนดเวลาของการทำงานอย่างถูกต้อง - ผู้เชี่ยวชาญมีหน้าที่รับผิดชอบในการวางแผนในระบบเรียลไทม์

รุ่นของอัลกอริทึมการสลับก่อนหน้านี้คืออัลกอริทึมของเวลาดำเนินการที่เหลือน้อยที่สุด ตามอัลกอริทึมนี้ตัวกำหนดตารางเวลาเลือกกระบวนการที่มีเวลาดำเนินการที่เหลือน้อยที่สุด ในกรณีนี้จำเป็นต้องรู้เวลาดำเนินการงานล่วงหน้า เมื่อได้รับงานใหม่เวลาดำเนินการเต็มรูปแบบจะถูกเปรียบเทียบกับเวลาที่เหลือของการดำเนินการของงานปัจจุบัน หากเวลาดำเนินการของงานใหม่น้อยลงกระบวนการปัจจุบันจะถูกระงับและการควบคุมจะถูกส่งไปยังภารกิจใหม่ รูปแบบนี้ช่วยให้คุณสามารถรับใช้คำขอสั้น ๆ ได้อย่างรวดเร็ว

การวางแผนสามระดับ

ระบบการประมวลผลแบบแบทช์ช่วยให้คุณสามารถใช้การวางแผนสามระดับดังแสดงในรูป เมื่อถึงงานใหม่งานใหม่จะถูกวางไว้ครั้งแรกในคิวที่เก็บไว้บนดิสก์ ทางเข้า ตัวกำหนดตารางเวลาการเข้าถึง เลือกงานและส่งไปยังระบบ ภารกิจที่เหลือยังคงอยู่ในบรรทัด

เมื่องานได้ตกลงไปในระบบกระบวนการที่เกี่ยวข้องจะถูกสร้างขึ้นสำหรับมันและสามารถเข้าร่วมการต่อสู้เพื่อเข้าถึงโปรเซสเซอร์ได้ทันที อย่างไรก็ตามสถานการณ์เป็นไปได้เมื่อกระบวนการมากเกินไปและไม่ได้อยู่ในหน่วยความจำจากนั้นบางส่วนจะถูกยกเลิกการโหลดบนดิสก์ การวางแผนระดับที่สองกำหนดว่ากระบวนการใดที่สามารถเก็บไว้ในหน่วยความจำและบนดิสก์ นี้มีส่วนร่วม ตัวกำหนดตารางเวลาหน่วยความจำ .

Scheduler หน่วยความจำสแกนกระบวนการบนดิสก์เป็นระยะเพื่อตัดสินใจว่าจะย้ายไปยังหน่วยความจำเป็นระยะ ๆ ท่ามกลางเกณฑ์ที่กำหนดโดยตัวกำหนดตารางเวลามีดังต่อไปนี้:

1. เวลาผ่านไปเนื่องจากกระบวนการได้รับการขนถ่ายไปยังดิสก์หรือโหลดจากดิสก์หรือไม่

2. กระบวนการใช้โปรเซสเซอร์ใช้เวลานานเท่าใดแล้ว?

3. ขนาดของกระบวนการคืออะไร (กระบวนการขนาดเล็กไม่รบกวน)?

4. ความสำคัญของกระบวนการคืออะไร?

การวางแผนระดับที่สามมีหน้าที่ในการเข้าถึงกระบวนการในแง่ของความพร้อมให้กับโปรเซสเซอร์ เมื่อมีการสนทนาเกี่ยวกับ "Scheduler" มักจะมีวัตถุประสงค์เพื่อ ผู้วางแผนโปรเซสเซอร์ . ตัวกำหนดตารางเวลานี้ใช้อัลกอริทึมใด ๆ ที่เหมาะสมสำหรับสถานการณ์ทั้งที่มีการขัดจังหวะและไม่มี อัลกอริทึมเหล่านี้บางส่วนที่เราได้ตรวจสอบแล้วและกับคนอื่น ๆ ยังคงคุ้นเคย

การวางแผนในระบบแบบโต้ตอบ

การวางแผนวงจร

หนึ่งในที่เก่าแก่ที่สุดเรียบง่ายยุติธรรมและใช้บ่อยคืออัลกอริทึมการวางแผนวงจร แต่ละกระบวนการมีไว้สำหรับช่วงเวลาโปรเซสเซอร์บางช่วงเวลาที่เรียกว่าควอนตัมของเวลา หากกระบวนการยังคงทำงานกับจุดสิ้นสุดของเวลาควอนตัมมันถูกขัดจังหวะและการควบคุมจะถูกส่งไปยังกระบวนการอื่น แน่นอนว่าหากกระบวนการถูกบล็อกหรือหยุดทำงานก่อนการควบคุมของการควบคุมเกิดขึ้นในขณะนั้น การดำเนินการตามวงจรการวางแผนเป็นเรื่องง่าย ตัวกำหนดตารางเวลาจะต้องสนับสนุนรายการของกระบวนการในสถานะเตรียมพร้อมเท่านั้น เมื่อกระบวนการหมดเวลาหมดเวลามันจะไปที่จุดสิ้นสุดของรายการ

จุดที่น่าสนใจของอัลกอริทึมนี้คือความยาวของควอนตัม การเปลี่ยนจากกระบวนการหนึ่งไปอีกขั้นหนึ่งใช้เวลาสักครู่ - คุณต้องบันทึกและดาวน์โหลดการ์ดลงทะเบียนและการ์ดหน่วยความจำอัพเดตตารางและรายการบันทึกและรีสตาร์ทแคชของหน่วยความจำ ฯลฯ เอาต์พุตสามารถกำหนดได้ดังนี้: ควอนตัมขนาดเล็กเกินไปจะส่งผลให้ กระบวนการที่พบบ่อยและประสิทธิภาพขนาดเล็ก แต่ควอนตัมขนาดใหญ่เกินไปสามารถนำไปสู่การตอบสนองช้าต่อการร้องขอแบบโต้ตอบสั้น ๆ ค่าของควอนตัมประมาณ 2 0 -5 0 ms มักจะประนีประนอมที่สมเหตุสมผล

การวางแผนลำดับความสำคัญ

ในอัลกอริทึมแบบวงกลมของการวางแผนมีข้อสันนิษฐานที่สำคัญว่ากระบวนการทั้งหมดจะเทียบเท่า ในสถานการณ์คอมพิวเตอร์ที่มีผู้ใช้จำนวนมากอาจไม่เป็นเช่นนั้น ตัวอย่างเช่นที่มหาวิทยาลัยก่อนอื่นคณบดีจะต้องได้รับการบริการจากนั้นอาจารย์เลขานุการน้ำยาทำความสะอาดและนักเรียนเท่านั้น ความจำเป็นในการพิจารณาปัจจัยภายนอกดังกล่าวนำไปสู่การวางแผนลำดับความสำคัญ แนวคิดหลักนั้นง่าย: แต่ละกระบวนการได้รับการกำหนดลำดับความสำคัญและการควบคุมจะถูกส่งไปยังกระบวนการที่พร้อมใช้งานด้วยลำดับความสำคัญสูงสุด

คิวหลายตัว

หนึ่งในผู้กำหนดตารางเวลาลำดับความสำคัญแรกถูกนำไปใช้ในระบบ CTSS (ระบบที่ใช้ร่วมกันที่ใช้งานร่วมกันได้ - ระบบการแยกเวลาที่ใช้งานร่วมกันได้) ค่าใช้จ่ายของระบบ CTSS เป็นกระบวนการที่ช้าเกินไปเนื่องจากกระบวนการเดียวเท่านั้นที่สามารถอยู่ในหน่วยความจำของ IBM คอมพิวเตอร์ 7094 แต่ละสวิตช์หมายถึงการขนถ่ายกระบวนการปัจจุบันไปยังดิสก์

และอ่านกระบวนการใหม่จากดิสก์ นักพัฒนา CTSS ตระหนักได้อย่างรวดเร็วว่ามีประสิทธิภาพจะสูงขึ้นหากกระบวนการความสามารถในการประมวลผลที่ จำกัด เน้นถึงควอนตัมที่มากขึ้นกว่าถ้าคุณให้ควอนตัมขนาดเล็ก แต่บ่อยครั้ง ในอีกด้านหนึ่งสิ่งนี้จะลดปริมาณของปั๊มจากหน่วยความจำไปยังดิสก์และอื่น ๆ - จะนำไปสู่การเสื่อมสภาพของเวลาตอบสนองตามที่เราได้เห็น

เป็นผลให้การแก้ปัญหาได้รับการพัฒนาด้วยการจัดลำดับความสำคัญ กระบวนการของชั้นเรียนที่มีลำดับความสำคัญสูงสุดได้รับการจัดสรรควอนตัมหนึ่งกระบวนการในชั้นเรียนต่อไปนี้ - Quanta สองตัวต่อไปนี้ - สี่ Quanta เป็นต้นเมื่อกระบวนการใช้ตลอดเวลาที่เขาได้รับมันย้ายไปที่ชั้นเรียนด้านล่าง

ตัวอย่างเช่นพิจารณากระบวนการที่ต้องคำนวณเป็น 100 Quanta ในขั้นต้นเขาจะได้รับควอนตัมหนึ่งอันแล้วมันจะถูกผลักไปยังดิสก์ ครั้งต่อไปที่จะได้รับ 2 Quanta จากนั้น 4, 8,16, 32, 64 ถึงแม้ว่า 64 มันใช้เพียง 37 ในกรณีนี้เพียง 7 ปั๊ม (รวมถึงโหลดเริ่มต้น) แทน 100 ซึ่งจะเป็น จำเป็นต้องใช้อัลกอริทึมแบบวงกลม นอกจากนี้เมื่อพวกเขาดำน้ำในคิวลำดับความสำคัญกระบวนการจะดำเนินการต่อไปให้โปรเซสเซอร์ในกระบวนการที่สั้นลง

"กระบวนการที่สั้นที่สุดคือต่อไป"

เนื่องจากอัลกอริทึม "งานที่สั้นที่สุดคือ" ลดเวลาการทำงานเฉลี่ยในระบบการประมวลผลแบบแบตช์ฉันต้องการใช้ในระบบแบบโต้ตอบ มันเป็นไปได้. กระบวนการแบบอินเทอร์แอคทีฟมักจะเป็นไปตามรูปแบบ "รอคำสั่งการเรียกใช้คำสั่งรอคำสั่งการดำเนินการของคำสั่ง ... " หากคุณพิจารณาการเรียกใช้งานของแต่ละคำสั่งเป็นงานแยกต่างหากคุณสามารถลดระดับรองโดยรวมได้ เวลาตอบสนองการเปิดใช้งานแรกที่สั้นที่สุด ปัญหาเดียวคือ

เพื่อที่จะเข้าใจกระบวนการที่รอดำเนินการใดที่สั้นที่สุด

วิธีการหนึ่งขึ้นอยู่กับการประมาณค่าความยาวของกระบวนการตามพฤติกรรมกระบวนการก่อนหน้า ในเวลาเดียวกันกระบวนการนี้เปิดตัวตามเวลาโดยประมาณเวลาที่เล็กที่สุด สมมติว่าเวลาดำเนินการคำสั่งโดยประมาณเท่ากับ t 0 และเวลาโดยประมาณของการเริ่มต้นถัดไปเท่ากับ 1 คุณสามารถปรับปรุงการประมาณการเวลาโดยการรวมผลรวมที่สมดุลของเวลาเหล่านี้ที่ 0 + (1 - a) t 1 เมื่อเลือกค่าที่เหมาะสมเราสามารถบังคับอัลกอริทึมการประเมินเพื่อลืมการเปิดตัวก่อนหน้านี้อย่างรวดเร็วหรือในทางตรงกันข้ามโปรดจำไว้ว่าเป็นเวลานาน การใช้ \u003d 1/2 เราได้รับชุดของการประมาณ:

T 0, T 0/2 + T 1/2, T 0/4 + T 1/4 + T 2/2, T 0/8 + T 1/8 + T 2/4 + T 3/2

หลังจากเปิดตัวสามครั้งน้ำหนัก T 0 ในการประมาณการจะลดลงเหลือ 1/8

วิธีการประมาณค่าถัดไปของซีรีส์ผ่านค่าเฉลี่ยถ่วงน้ำหนักของค่าก่อนหน้าและการประมาณการก่อนหน้านี้มักเรียกว่าอายุ วิธีนี้ใช้ได้ในหลาย ๆ สถานการณ์ที่มีความจำเป็นในการจัดอันดับสำหรับค่าก่อนหน้า วิธีที่ง่ายที่สุดในการใช้ชีวิตที่ A \u003d 1/2 ทุกขั้นตอนที่คุณต้องการ

เพิ่มค่าใหม่ให้กับการประมาณการปัจจุบันและแบ่งจำนวนครึ่งหนึ่ง (เลื่อนไปทางขวาถึง 1 บาท)

รับประกันการวางแผน

วิธีการวางแผนที่แตกต่างกันเป็นพื้นฐานคือการให้สัญญาที่แท้จริงแก่ผู้ใช้และจากนั้นปฏิบัติตามการดำเนินงานของพวกเขา นี่คือหนึ่งสัญญาที่ง่ายต่อการออกเสียงและง่ายต่อการแสดง: หากผู้ใช้ใช้กับโปรเซสเซอร์คุณจะได้รับพลังงานโปรเซสเซอร์ 1 / N

และในระบบที่มีผู้ใช้หนึ่งคนและผู้ประมวลผลที่ใช้งานอยู่แต่ละคนจะได้รับรอบโปรเซสเซอร์ 1 / N

เพื่อตอบสนองสัญญานี้ระบบจะต้องติดตามการกระจายตัวของโปรเซสเซอร์ระหว่างกระบวนการตั้งแต่ช่วงเวลาของการสร้างแต่ละกระบวนการ จากนั้นระบบจะคำนวณจำนวนของทรัพยากรโปรเซสเซอร์ที่กระบวนการมีสิทธิ์ตัวอย่างเช่นจากช่วงเวลาของการสร้างหารด้วย N ตอนนี้คุณสามารถนับอัตราส่วนของเวลาที่มอบให้กับกระบวนการตามเวลาที่เขามีสิทธิ์ มูลค่าที่ได้รับ 0.5 หมายความว่ากระบวนการนี้โดดเดี่ยวเพียงครึ่งหนึ่งของการวางและ 2.0 หมายความว่ากระบวนการเป็นสองเท่าเท่าที่ควร จากนั้นกระบวนการเริ่มต้นซึ่งเป็นต่ำสุดน้อยที่สุดในขณะที่

มันจะไม่กลายเป็นมากกว่าเพื่อนบ้านที่ใกล้ที่สุดของเขา

การวางแผนลอตเตอรี

อัลกอริทึมขึ้นอยู่กับการกระจายของกระบวนการตั๋วลอตเตอรีเพื่อเข้าถึงทรัพยากรต่าง ๆ รวมถึงโปรเซสเซอร์ เมื่อตัวกำหนดตารางเวลาจำเป็นต้องตัดสินใจแบบสุ่มตั๋วลอตเตอรีจะถูกเลือกและเจ้าของจะได้รับการเข้าถึงทรัพยากร สำหรับการเข้าถึงโปรเซสเซอร์ลอตเตอรีสามารถเกิดขึ้นได้ 50 ครั้งต่อวินาทีและผู้ชนะจะได้รับ 20 MS Processor Time

กระบวนการที่สำคัญมากขึ้นสามารถแจกจ่ายให้กับตั๋วเพิ่มเติมเพื่อเพิ่มโอกาสในการชนะ หากมีเพียง 100 ใบและ 20 ของพวกเขาอยู่ในกระบวนการเดียวกันมันจะได้รับ 20% ของเวลาโปรเซสเซอร์ ซึ่งแตกต่างจากตารางเวลาที่มีลำดับความสำคัญซึ่งเป็นเรื่องยากมากที่จะชื่นชมซึ่งหมายถึงพูดลำดับความสำคัญ 40 ในการวางแผนลอตเตอรีทุกอย่างชัดเจน แต่ละกระบวนการจะได้รับเปอร์เซ็นต์ของทรัพยากรประมาณเท่ากับเปอร์เซ็นต์ของตั๋วที่มีอยู่

การวางแผนลอตเตอรีโดดเด่นด้วยคุณสมบัติที่น่าสนใจหลายอย่าง ตัวอย่างเช่นหากคุณได้รับตั๋วสองสามใบเมื่อสร้างกระบวนการจากนั้นในลอตเตอรีถัดไปโอกาสของการชนะนั้นเป็นสัดส่วนกับจำนวนตั๋ว

กระบวนการแบบโต้ตอบสามารถทำได้หากจำเป็นแลกเปลี่ยนตั๋ว ดังนั้นหากกระบวนการไคลเอ็นต์ส่งข้อความไปยังกระบวนการเซิร์ฟเวอร์แล้วบล็อกสามารถถ่ายโอนตั๋วทั้งหมดของเขาไปยังกระบวนการเซิร์ฟเวอร์เพื่อเพิ่มโอกาสในการเริ่มต้นเซิร์ฟเวอร์ เมื่อกระบวนการเซิร์ฟเวอร์เสร็จสิ้นจะสามารถคืนตั๋วทั้งหมดกลับ

การวางแผนที่เป็นธรรม

จนถึงตอนนี้เราสันนิษฐานว่าแต่ละกระบวนการจัดการโดยไม่คำนึงถึงใครเจ้าของของเขา ดังนั้นหากผู้ใช้ 1 กำลังสร้างกระบวนการ 9 กระบวนการและผู้ใช้ 2 คือ 1 กระบวนการจากนั้นใช้การกำหนดเวลาแบบวนรอบหรือในกรณีที่มีลำดับความสำคัญเท่าเทียมกันผู้ใช้ 1 จะได้รับ 90% ของโปรเซสเซอร์และผู้ใช้ 2 เพียง 10

เพื่อหลีกเลี่ยงสถานการณ์ดังกล่าวบางระบบให้ความสนใจกับโฮสต์ของกระบวนการก่อนการวางแผน ในรูปแบบดังกล่าวผู้ใช้แต่ละคนได้รับสัดส่วนของโปรเซสเซอร์และตัวกำหนดตารางเวลาเลือกกระบวนการตามความจริงนี้ หากในตัวอย่างของเราผู้ใช้แต่ละคนก็คือ

สัญญา 50% ของโปรเซสเซอร์แล้วพวกเขาจะได้รับ 50% ของโปรเซสเซอร์โดยไม่คำนึงถึงจำนวนของกระบวนการ

การวางแผนในระบบเรียลไทม์

ในระบบเรียลไทม์มีบทบาทสำคัญที่มีบทบาทสำคัญ บ่อยครั้งที่อุปกรณ์ทางกายภาพภายนอกหนึ่งตัวขึ้นไปสร้างสัญญาณอินพุตและคอมพิวเตอร์ต้องตอบสนองต่อพวกเขาอย่างเพียงพอตามระยะเวลาที่กำหนด

ระบบเรียลไทม์แบ่งออกเป็น ระบบเรียลไทม์ที่เข้มงวด ซึ่งหมายถึงการปรากฏตัวของเวลาที่ยากลำบากสำหรับแต่ละงาน (ในนั้นมีความจำเป็นต้องพอดี) และ ระบบเรียลไทม์ที่ยืดหยุ่น การละเมิดแผนภูมิเวลาที่ไม่พึงประสงค์ แต่ได้รับอนุญาต ในทั้งสองกรณีการแบ่งโปรแกรมเป็นหลายขั้นตอนจะถูกนำไปใช้ซึ่งแต่ละอย่างสามารถคาดการณ์ได้ กระบวนการเหล่านี้มักจะสั้นและเสร็จสิ้นการทำงานเป็นวินาที เมื่อสัญญาณภายนอกปรากฏขึ้นมันเป็นนักวางแผนที่ต้องตรวจสอบให้แน่ใจว่าสอดคล้องกับตารางเวลา

เหตุการณ์ภายนอกที่ระบบควรตอบสนองสามารถแบ่งออกเป็น เป็นระยะ(เกิดขึ้นในช่วงเวลาปกติของเวลา) และ ไม่ใช่ระยะ(โผล่ออกมาไม่แน่นอน) บางทีการปรากฏตัวของสตรีมของเหตุการณ์ต่าง ๆ ที่ระบบควรดำเนินการ ขึ้นอยู่กับเวลาที่ใช้ในการประมวลผลของแต่ละเหตุการณ์อาจกลายเป็นว่าระบบไม่สามารถประมวลผลเหตุการณ์ทั้งหมดได้ในเวลาที่เหมาะสม


ข้อมูลที่คล้ายกัน


บ่อยครั้งที่นักพัฒนาโดยเฉพาะอย่างยิ่งไม่มีประสบการณ์จะหายไปเมื่อพวกเขาถูกขอให้กำหนดเวลาของภารกิจ อย่างไรก็ตามความสามารถในการวางแผนเป็นทักษะที่มีประโยชน์และจำเป็นมากที่ไม่เพียง แต่ในการทำงานเท่านั้น แต่ยังอยู่ในชีวิต เราตัดสินใจเรียนรู้จากผู้เชี่ยวชาญวิธีการเรียนรู้วิธีวางแผนและส่งมอบโครงการตรงเวลา

ข้อสรุปสั้น ๆ สามารถดูได้ในตอนท้ายของบทความ

นักพัฒนามักจะต้องคำนึงถึงพารามิเตอร์หลายตัวในครั้งเดียวเพื่อประเมินเวลาดำเนินการงาน:

  1. ประสบการณ์ในการปฏิบัติงานดังกล่าวและทำงานกับสแต็กเทคโนโลยีนี้ หากสิ่งใหม่เหล่านี้เป็นสิ่งใหม่คือการทำอะไรบางอย่างคุณจะต้องระมัดระวังเป็นพิเศษกับการประเมิน
  2. ประสบการณ์กับลูกค้านี้ การรู้จักลูกค้าคุณสามารถทำนายข้อกำหนดและขอบเขตเพิ่มเติมได้
  3. คุณภาพของรหัสที่คุณต้องทำงานด้วย นี่คือปัจจัยที่มีอิทธิพลมากที่สุดเนื่องจากทุกอย่างสามารถล่าช้าอย่างยิ่งและโดยทั่วไปจะไปตามแผน หากมีการทดสอบในโครงการทุกที่การอ้างอิงที่ชัดเจนและฟังก์ชั่นที่ชัดเจนเท่านั้นที่โดดเดี่ยวทุกอย่างไม่น่ากลัว แย่กว่ามากหากคุณกำลังติดต่อกับรหัสดั้งเดิมโดยไม่ต้องทดสอบหรือด้วยรหัสที่มีการพึ่งพาโดยนัย สิ่งต่าง ๆ เช่น "มายากลฟังก์ชั่น" อาจซับซ้อน (เมื่อมันยากที่จะเห็นการโทรสิ้นสุดการโทร) และการทำซ้ำรหัส (เมื่อใดที่จะเปลี่ยนฟังก์ชั่นใด ๆ ที่จำเป็นในการปกครองส่วนที่เป็นอิสระหลายส่วน)

ในการเรียนรู้วิธีการประเมินเวลาของงานอย่างเพียงพอคุณต้องปฏิบัติอย่างต่อเนื่อง ที่จุดเริ่มต้นของงานของฉันฉันทำแบบนี้: ฉันประเมินเวลาสำหรับงานที่เข้ามาใด ๆ แม้ว่าจะไม่มีใครเรียกร้องให้เห็นว่าแล้วดูว่ามันเป็นไปได้อย่างแม่นยำเพื่อให้ได้คะแนนของฉัน ในกระบวนการของการทำภารกิจให้เสร็จงานสังเกตว่าการกระทำใดใช้เวลานานขึ้น หากสิ่งที่เพิ่มขึ้นอย่างมากฉันจำช่วงเวลานี้และคำนึงถึงในการประมาณการต่อไปนี้

การประเมินวัตถุประสงค์ของเวลาที่จำเป็นต้องทำงานอย่างหมดจดควรเพิ่มอุปทานขนาดเล็กเพื่อปกปิดสถานการณ์เหตุสุดวิสัย มันมักจะถูกประเมินเป็นเปอร์เซ็นต์ของภารกิจหลัก แต่ทุกคนมีความแตกต่างกัน: มีคนเพิ่ม 20% ของเวลาใครบางคน - 10% และบางคน - 50%

นอกจากนี้ยังมีประโยชน์ในการวิเคราะห์สาเหตุของกำหนดเวลาหลังจากการรบกวนที่รุนแรงแต่ละครั้ง หากมีคุณสมบัติไม่เพียงพอคุณต้องทำงานกับสถานที่ที่อ่อนแอของคุณ หากปัญหาคือองค์กร - เพื่อทำความเข้าใจกับสิ่งที่ป้องกันปกติ

ปรับปรุงการปรับลดรุ่น

, ผู้อำนวยการด้านเทคนิคของศูนย์เทคโนโลยีนวัตกรรมและการตัดสินใจ "ระบบเจ็ทข้อมูล"

วิธีการประเมินความซับซ้อนของโครงการรวมถึงระยะเวลาการทำงานและงานแต่ละรายการบทความจำนวนมากทุ่มเท อย่างไรก็ตามนี่เป็นสาเหตุของความขัดแย้งทั้งในทีมโครงการและเมื่อสื่อสารกับลูกค้า

ผู้ช่วยหลักในการประเมินคือประสบการณ์ ลองเปรียบเทียบกับงานใหม่ด้วยทำแล้ว หากคุณทำรายงานดูว่ามีการรายงานที่คล้ายกันมากแค่ไหนในอดีต หากคุณทำอะไรใหม่ลองแยกออกเป็นส่วนที่รู้จักกันดีและประเมินพวกเขา หากภารกิจใหม่สมบูรณ์เน้นเวลาในการศึกษา (ดีกว่า - เห็นด้วยกับเวลานี้กับผู้ที่ใส่งาน)

ให้ความสนใจกับขั้นตอนที่เกี่ยวข้อง - หากคุณต้องการพัฒนาบริการก็จำเป็นต้องมีการทดสอบรวมกัน (และอาจไม่เพียง แต่ต่อหน่วยเท่านั้น) และไม่เพียง แต่หน่วย) เท่านั้น) จะใช้การเตรียมข้อมูลการทดสอบด้วย คุณควรพิจารณาการรวมเข้ากับบริการอื่น ๆ ฯลฯ Bulit Time เพื่อแก้ไขข้อบกพร่องที่คุณจะพบว่าตัวเองหรือด้วยความช่วยเหลือของผู้ทดสอบ เวลามากสามารถดำเนินงานที่ "มองไม่เห็น" ตัวอย่างเช่นมีการประเมินการประเมินและมีการประเมินเกี่ยวกับการทดสอบ แต่การถ่ายโอนสิ่งประดิษฐ์ในการทดสอบสามารถเชื่อมต่อกับการปรับใช้ของสแตนด์บาย ดังนั้นจึงเป็นสิ่งสำคัญที่จะจินตนาการถึงกระบวนการทั้งหมดเพื่อที่จะพลาดอะไร

หลังจากพิจารณาการพิจารณาเวลาจำเป็นต้องมีงานใหม่ในปฏิทินโดยไม่ลืมเกี่ยวกับงานและกิจกรรมอื่น ๆ ที่ขนานกัน

และอย่าลืมว่าแผนนั้นไร้ประโยชน์ แต่การวางแผนนั้นทรงคุณค่า เรียนรู้การปรับแผนในเวลาติดตามข่าวสารล่าสุดเกี่ยวกับทุกคนที่สนใจและทวีคูณทันเวลาเพื่อให้กำหนดเวลาไม่น่าแปลกใจสำหรับทุกคน

ปรับปรุงการปรับลดรุ่น

คำถามที่เป็นไปไม่ได้ที่จะตอบในรูปแบบสั้น ๆ ถ้ามันง่ายปัญหาของการรบกวนเวลาจะไม่มีอยู่

เพื่อให้กำหนดเวลาสำหรับการสิ้นสุดของการพัฒนาที่คาดการณ์ได้มากขึ้นจำเป็นต้องเข้าใจเหตุผลก่อนว่าทำไมโปรแกรมเมอร์ที่เข้าใจผิดอย่างต่อเนื่อง

เหตุผลแรกคือภารกิจส่วนใหญ่ที่โปรแกรมเมอร์ทำอยู่ในระดับเดียวหรือมากกว่านั้น นั่นเป็นไปได้มากที่สุดโปรแกรมเมอร์จะทำภารกิจที่คล้ายกันเป็นครั้งแรก มันไม่ดีพอที่จะใช้งานนี้มากแค่ไหน หากนี่เป็นโปรแกรมเมอร์ที่มีประสบการณ์ที่มั่นคงและเขาต้องทำงานที่คล้ายกันการประเมินของมันจะใกล้เคียงกับความเป็นจริงมากขึ้น

เราใช้การเปรียบเทียบที่เรียบง่าย - ถ้าคุณไม่เคยขุดคูคุณไม่สามารถพูดได้แน่นอนว่าคุณใช้เวลาในการขุดร่องลึกขนาด 30 ซม. กว้าง 60 ซม. ลึก 60 ซม. และยาว 20 เมตร หากคุณขุดก่อนหน้านี้การประเมินเวลาทำงานของคุณจะใกล้เคียงกับระยะเวลาที่แท้จริงของการทำงานมากขึ้น

เหตุผลที่สองคือโปรแกรมเมอร์โดยธรรมชาติของพวกเขาในแง่ดีของพวกเขา นั่นคือการพิจารณาภารกิจการเลือกตัวเลือกการดำเนินการสำหรับการประเมินการปรับแต่งผู้พัฒนาคาดหวังว่าทุกอย่างจะทำงานตามที่แนะนำ และไม่คิดเกี่ยวกับปัญหาเหล่านั้นที่เขาจะได้พบกันระหว่างทาง บ่อยครั้งที่เขามองไม่เห็นพวกเขา ตัวอย่างเช่นมีงานที่โปรแกรมเมอร์สามารถใช้งานได้โดยใช้ไลบรารีซอฟต์แวร์โอเพนซอร์สของบุคคลที่สาม ในขั้นตอนการประเมินเขาพบมันบนอินเทอร์เน็ตอ่านคำอธิบายของเธอ - เธอเหมาะกับเขา และเขาชื่นชมปริมาณงานของเขาอย่างถูกต้องเพื่อฝังห้องสมุดนี้ แต่เขาไม่ได้ให้ข้อผิดพลาดทั้งหมดที่จะเกิดขึ้นล้อมรอบด้วยผลิตภัณฑ์ซอฟต์แวร์ในห้องสมุดนี้

นักพัฒนาจะต้องไม่เพียงแค่ฝังการใช้ไลบรารีให้กับรหัส แต่ยังแก้ไขข้อผิดพลาดในห้องสมุดเอง และบ่อยครั้งที่นักพัฒนาไม่ได้ให้เวลาในการแก้ไขข้อผิดพลาดของเขา ในฐานะที่เป็นสถิติการทดสอบและการแก้ไขข้อผิดพลาดสามารถครอบครองประมาณ 50% ของเวลาที่ใช้กับการเข้ารหัส รูปนั้นขึ้นอยู่กับการพัฒนาของนักพัฒนาสิ่งแวดล้อมที่ใช้โดยการพัฒนา (ตัวอย่างเช่นการทดสอบหน่วยจะลดลงอย่างมีนัยสำคัญและการใช้ระยะเวลา / เวลารวมของงานพัฒนาน้อยกว่า)

หากคุณกลับไปที่การเปรียบเทียบกับรถขุดขุดไม่สมมติว่าเขาจะทำลายพลั่วและจะต้องใช้เวลาสองชั่วโมงในการค้นหา Cutleka ใหม่

เหตุผลที่สามคือข้อกำหนดที่คาดไม่ถึง ไม่มีในสาขาการผลิตวัสดุใด ๆ ที่พวกเขาต้องการเปรียบเทียบซอฟต์แวร์การพัฒนาลูกค้าไม่มีข้อกำหนดใหม่ของความต้องการใหม่ ลองนึกภาพเนื้อเรื่องของรถขุดซึ่งขุด 19 เมตรจาก 20 และได้ยินความปรารถนาจากลูกค้าเพื่อให้คลองไม่ได้เป็นเส้นตรง แต่เป็นงูที่มีความยาวไหล่ 97 เซนติเมตร

วิธีจัดการกับทั้งหมดนี้และวิธีการใช้ชีวิตในเงื่อนไขของความไม่แน่นอนเช่นนี้? การลดความไม่แน่นอนและการวางเวลาในการวาง

วิธีที่ง่ายที่สุดในการนำความคาดหวังของคุณเข้าใกล้ความเป็นจริงคือการใช้กฎเชิงประจักษ์ที่มีอารมณ์ขัน "PI" เมื่อได้รับการประเมินจากนักพัฒนา (ในแง่ของเวลาหรือการพิจารณา) มีความจำเป็นต้องคูณด้วยหมายเลข PI (\u003d 3,14159) นักพัฒนาที่มีประสบการณ์มากขึ้นได้ทำการประเมินผลน้อยกว่าอาจเป็นค่าสัมประสิทธิ์นี้

บังคับคือการปฏิบัติของการสลายตัวของงานเริ่มต้นให้กับงานขนาดเล็กไม่เกิน 4 ชั่วโมง ยิ่งการสลายตัวที่มีรายละเอียดมากเท่าใดโอกาสที่การประเมินจะยิ่งสูงขึ้นใกล้เคียงกับการพิจารณา / ระยะเวลาที่แท้จริง
หากคุณกลับไปที่การจัดสรรสำรอง - เวลานี้จะต้องจัดสรรในตอนท้ายของโครงการ การปฏิบัติที่ไม่ดีที่จะทำการสำรองและรวมไว้สำหรับแต่ละงาน กฎหมายของ Parkinson "งานเติมเต็มเวลาเปิดตัว" ดำเนินการอย่างเคร่งครัด

หากคุณนำ "ยอดรวม" สั้น ๆ การกระทำต่อไปนี้จะเป็นประโยชน์ในการกำหนดเวลาอย่างถูกต้อง:

  • ดำเนินการสลายตัวของงานทำลายงานตามขั้นตอนโดยละเอียดที่สุด
  • ใช้ประโยชน์จากการสร้างต้นแบบ
  • จำกัด การดำเนินการตามข้อกำหนดก่อนหน้านี้ไม่คาดฝัน นี่ไม่ได้หมายความว่าพวกเขาไม่ควรทำ แต่แนะนำให้จัดสรรข้อกำหนดเหล่านี้และประสานงานกับการเปลี่ยนแปลงของลูกค้าในช่วงเวลาและค่าสำหรับการดำเนินการของพวกเขา
  • คำนึงถึงเวลาที่จะทำให้โซลูชันรักษาเสถียรภาพ;
  • ใช้การฝึกฝนการปรับปรุงคุณภาพของรหัสตัวอย่างเช่นการเขียนการทดสอบหน่วย
  • วางสำรองทั่วไป

และจำไว้ว่าหากความจริงเกินกว่าการให้คะแนนของคุณ 30% เป็นผลลัพธ์ที่ดีมาก

ปรับปรุงการปรับลดรุ่น

สำหรับการประมาณการที่แม่นยำที่สุดคุณต้องมีประสบการณ์การพัฒนาจริงและแม่นยำในบางพื้นที่ แต่ยังมีกฎทั่วไปที่จะช่วยหลีกเลี่ยงข้อผิดพลาดในการวางแผนและปัญหาเมื่อเช่าลูกค้า ฉันจะอธิบายกฎเหล่านี้ดังนั้น

ก่อนอื่นคุณต้องเข้าใจงาน ดูเหมือนว่าจะชัดเจนและไม่ใช้โดยตรงกับการประเมินของกำหนดเวลา แต่ในความเป็นจริงมันเป็นจุดสำคัญ แม้ในโครงการที่สำคัญอย่างจริงจังซึ่งเป็นหนึ่งในปัจจัยหลักของความล้มเหลวและการทำให้กำหนดเวลาอย่างเข้มงวดคือปัญหาในการกำหนดข้อกำหนด นักพัฒนามือใหม่น่าเสียดายที่นี่เป็นปัญหาร้ายแรง - อย่าอ่าน TK หรืออ่านและเข้าใจอย่างคัดเลือกอย่างมาก (จากสิบคะแนนที่ฉันจำได้และเติมเต็มห้าและเกี่ยวกับการจดจำที่เหลืออยู่แล้วเมื่อผลลัพธ์คือการยอมจำนน) เป็นที่ชัดเจนว่างานที่ไม่ถูกต้องเป็นไปไม่ได้ที่จะดำเนินการอย่างถูกต้องตรงเวลา

ถัดไป - เพื่อประเมินเวลาของการพัฒนา คุณสมบัติของการเขียนโปรแกรมคือไม่มีงานที่เหมือนกันอย่างแน่นอน สิ่งนี้ทำให้งานของเราน่าสนใจยิ่งขึ้น แต่การประเมินของกำหนดเวลานั้นยากขึ้น การสลายตัวทำงานได้ดีที่นี่เช่น การแยกงานที่ซับซ้อนที่ซับซ้อนในลำดับของงานย่อยที่คุ้นเคยขนาดเล็ก และแต่ละคนสามารถประเมินได้ในนาฬิกาอย่างเพียงพอ ย้ายการประมาณการของ Subtasks - และเราได้รับการประเมินผลงานทั้งหมด

ตามกฎแล้วการประเมินดังกล่าวรวมถึงค่าใช้จ่ายโดยตรงในการเข้ารหัส นี่เป็นส่วนที่สำคัญที่สุดของการพัฒนา แต่ไกลจากคนเดียว (และบ่อยครั้ง - และไม่ครอบคลุมมากที่สุด) ภารกิจที่สมบูรณ์รวมถึงการอ่านและชี้แจง TK การประชุมกับเพื่อนร่วมงานหรือลูกค้าการดีบักและการทดสอบการวาดเอกสารผลลัพธ์ (สาธิตลูกค้าและการเปลี่ยนแปลงที่เป็นไปได้ในความคิดเห็นของมัน) คุณจะออกจากการกระทำเหล่านี้นานแค่ไหนบอกเพียงประสบการณ์ ตอนแรกเป็นสิ่งสำคัญอย่างน้อยก็ไม่ลืมที่จะคำนึงถึงการคำนวณและการประมาณการเวลาโดยประมาณสามารถขอให้เพื่อนร่วมงานที่มีประสบการณ์มากขึ้น

ดังนั้นเราจึงประเมินต้นทุนแรงงานสำหรับการเข้ารหัสเพิ่มการประมาณค่าใช้จ่ายสำหรับงานเพิ่มเติม - และเราได้รับการประเมินเวลาที่ต้องการสำหรับภารกิจ แต่นั่นไม่ใช่ทั้งหมด! คุณต้องกำหนดวันที่เสร็จสิ้นการวางแผนงานที่วางแผนไว้ ข้อผิดพลาดจะใช้และแบ่งต้นทุนแรงงาน (เป็นชั่วโมง) เป็นเวลา 8 ชั่วโมงและเพิ่มวันที่ปัจจุบัน ในการฝึกฝนจริงนักพัฒนาไม่เคย (ดีเกือบไม่เคย) ไม่ทำงาน 100% ของเวลามากกว่าหนึ่งงาน คุณจะมีเวลาสำหรับงานอื่น ๆ อย่างแน่นอน แต่ไม่เกี่ยวข้องโดยตรงกับหลักการหลัก ตัวอย่างเช่นความช่วยเหลือจากเพื่อนร่วมงานการฝึกอบรมการรวบรวมรายงาน ฯลฯ โดยปกติเมื่อการวางแผนเป็นที่เชื่อกันว่า 60-70% ของเวลาทำงานใช้เวลาทำงานโดยตรงกับโครงการปัจจุบัน นอกจากนี้ยังจำเป็นต้องคำนึงถึงความล่าช้าที่เป็นไปได้ที่จะไม่อนุญาตให้คุณทำงานอย่างต่อเนื่องในงาน ตัวอย่างเช่นหากสำหรับสิ่งนี้คุณต้องมีปฏิสัมพันธ์กับคนอื่น (เพื่อนร่วมงานลูกค้า) จากนั้นพิจารณาการจ้างงานตารางงาน ฯลฯ

นี่คือกฎพื้นฐานที่ในความคิดของฉันจะช่วยให้นักพัฒนาซอฟต์แวร์หลีกเลี่ยงปัญหาในการประเมินและสังเกตกำหนดเวลา นอกจากนี้กุญแจสำคัญในการสะสมประสบการณ์ของตัวเองทั้งในการดำเนินงานของงานและในการประเมิน ตัวอย่างเช่นมันมีประโยชน์มากหลังจากงานเสร็จสิ้นเพื่อเปรียบเทียบการประเมินเบื้องต้นด้วยข้อกำหนดที่แท้จริงและสรุปข้อสรุปสำหรับอนาคต และแน่นอนว่ามันคุ้มค่าที่จะศึกษาประสบการณ์ของคนอื่น ฉันขอแนะนำในหัวข้อหนังสือของ S. McConnell "โครงการโปรแกรม" และ S. Arkhipvenkov "การบรรยายเกี่ยวกับการจัดการโครงการโครงการ"

ปรับปรุงการปรับลดรุ่น

เมื่อการประเมินและการวางแผนเวลาจำเป็น:

  1. หากต้องการสลายภารกิจให้กับชิ้นงานขนาดเล็กในลักษณะที่มีความเข้าใจที่ชัดเจนเวลาที่จะใช้เวลาในการพัฒนาของแต่ละชิ้นดังกล่าว
  2. ควบคู่ไปกับการสลายตัวคำถามเพิ่มเติมจะถูกจัดเรียงตามฟังก์ชั่นที่ยังไม่ได้อธิบายไว้ในสูตรงาน จำเป็นต้องได้รับคำตอบสำหรับคำถามดังกล่าวเนื่องจากมีความเกี่ยวข้องโดยตรงกับปริมาณการทำงานและดังนั้นกำหนดเวลา
  3. เพื่อการประเมินขั้นสุดท้ายเพิ่มเปอร์เซ็นต์ของความเสี่ยง สิ่งนี้ถูกกำหนดโดยวิธีที่มีประสบการณ์ คุณสามารถเริ่มต้นตัวอย่างเช่นด้วยความเสี่ยง 10-15%
  4. เข้าใจกี่ชั่วโมงในวันที่โปรแกรมเมอร์พร้อมที่จะจัดสรรสำหรับงาน
  5. เราแบ่งการประเมินขั้นสุดท้ายเกี่ยวกับจำนวนชั่วโมงที่จัดสรรวันและรับจำนวนวันที่จำเป็นสำหรับการดำเนินการ
  6. Weiently มุ่งเน้นไปที่ปฏิทินและจำนวนวันที่ต้องการสำหรับการดำเนินการ พิจารณาวันหยุดสุดสัปดาห์และวันอื่น ๆ เมื่อโปรแกรมเมอร์ไม่สามารถจัดการกับงานรวมถึงวันที่เริ่มต้นของงาน (ไม่ใช่นักพัฒนาซอฟต์แวร์พร้อมที่จะทำงานในวันเดียวกัน) ดังนั้นเราจึงได้รับการเริ่มต้นและสิ้นสุดการทำงาน

ปรับปรุงการปรับลดรุ่น

ใน บริษัท ของเราการวางแผนงานจะผ่านหลายขั้นตอนเสมอ ด้านข้างของธุรกิจเรากำหนดเป้าหมายเชิงกลยุทธ์ 5-6 ข้อสำหรับปี นี่เป็นงานระดับสูงเช่นเพื่อเพิ่มพารามิเตอร์ใด ๆ ในเปอร์เซ็นต์มาก นอกจากนี้หน่วยงานต่าง ๆ ของ บริษัท ในรูปแบบงานธุรกิจสำหรับทีมไอทีทั้งหมด วันที่สำหรับงานเหล่านี้ได้รับการประเมินขั้นต้นหลักซึ่งมักเกิดขึ้นโดยสมาชิกในทีมทั้งหมด - ผู้จัดการนักวิเคราะห์นักพัฒนาและผู้ทดสอบ เมื่อได้รับการประเมินนี้ธุรกิจจะจัดลำดับความสำคัญของงานเนื่องจากเป้าหมายเชิงกลยุทธ์ของ บริษัท สิ่งนี้ได้รับความช่วยเหลือจากเป้าหมายเชิงกลยุทธ์แบบครบวงจรมันชัดเจนกับพวกเขาที่เราทุกคนทำงานให้กับสาเหตุทั่วไปบางอย่างไม่มีสถานการณ์ดังกล่าวเมื่อมีคนดึงไปในทิศทางเท่านั้น แน่นอนเรารวบรวม Sprints ตามที่กำหนดไว้ในแง่ของงาน บางทีมมีรายไตรมาสบางราย - รายเดือน งานหลายอย่างตามการประเมินเบื้องต้นคำสั่งที่ตกลงไปในการวิ่งต่อไปจะถูกประเมินอย่างถูกต้อง งานขนาดใหญ่แบ่งออกเป็นระดับที่ต่ำกว่าสำหรับแต่ละคนมีหน้าที่รับผิดชอบต่อผู้ดำเนินการเฉพาะผู้ที่ให้การประเมินที่ถูกต้อง

ในขั้นตอนนี้มันเป็นสิ่งสำคัญที่จะไม่ลืมที่จะเพิ่มการจองเวลาเพื่อแก้ไขข้อบกพร่องเพราะมีเพียงคนที่ไม่ได้ทำอะไรผิดพลาด นี่เป็นเจ้าของผลิตภัณฑ์ที่เข้าใจได้อย่างสมบูรณ์แบบและลูกค้าธุรกิจ ในเวลาเดียวกันการสำรองเวลาที่ต้องการควรเพียงพอ: ไม่มีใครเข้าใจผู้พัฒนาที่จะใส่งานง่าย ๆ การเอารัดเอาเปรียบนานเกินไปจะถูกขอให้ปรับโซลูชัน สิ่งที่ยากที่สุดคือการอธิบายต่อธุรกิจทำไมต้องใช้เวลาในการปรับโครงสร้าง เราขอขอบคุณ บริษัท ของเราที่สามารถทำได้เป็นระยะเพราะในที่สุดการปรับโครงสร้างนำไปสู่การอำนวยความสะดวกโครงสร้างพื้นฐานและคำแนะนำในการสั่งซื้อในรหัสซึ่งจะช่วยเพิ่มความเสถียรของระบบและสามารถเร่งการพัฒนาคุณสมบัติใหม่อย่างมีนัยสำคัญ

บางครั้งความผิดพลาดในการประเมินยังคงเกิดขึ้น ฝ่ายพัฒนาใน บริษัท ขนาดใหญ่ที่มีโครงสร้างพื้นฐานที่พัฒนาอย่างสมบูรณ์หลีกเลี่ยงสิ่งนี้ในความคิดของฉันเป็นไปไม่ได้ ในกรณีนี้เป็นสิ่งสำคัญที่นักพัฒนาจะแจ้งเกี่ยวกับสิ่งที่เกิดขึ้นผู้จัดการของเขาในเวลาและเขาในทางกลับกันจัดการเพื่อป้องกันไม่ให้ธุรกิจและสิ่งที่ "เล่นซ้ำ" ในแผนทั่วไปของ บริษัท ในโหมดนี้มันทำงานได้อย่างถูกต้องมากขึ้นกว่าการกระตุกเพื่อลองทำใน 3 วันสิ่งที่ใช้เวลา 5 แล้วจมน้ำตายในข้อผิดพลาดมากมายที่เกิดขึ้นเนื่องจากการเร่งรีบเช่นนี้

ปรับปรุงการปรับลดรุ่น

คำตอบที่ถูกต้องสำหรับทั้งสองส่วนของคำถามคือ [วิธีการเรียนรู้วิธีการวางแผนและมอบให้กับโครงการ แดง.] - ประสบการณ์ ไม่มีเส้นทางอื่นใดของ "ความรู้เกี่ยวกับเซน" ตามทฤษฎีการตัดสินใจข้อสรุปที่ถูกต้องใด ๆ สามารถสร้างขึ้นได้เฉพาะบนพื้นฐานของการวิเคราะห์จำนวนข้อมูลที่มีอยู่แล้ว และยิ่งข้อมูลนี้มากขึ้น - การพยากรณ์และการประเมินผลที่แม่นยำยิ่งขึ้นเท่านั้น

เมื่อพูดถึงคำพูดของเฮอร์เบิร์ตแสดง: "ประสบการณ์เป็นโรงเรียนที่บุคคลค้นพบว่าเขาเป็นคนโง่มาก่อน" จากที่นี่ข้อสรุปที่ค่อนข้างง่ายคือ: หากโปรแกรมเมอร์มีประสบการณ์ที่สัมพันธ์กับงานของเขา - เขาอาจพึ่งพามันถ้าไม่ - ประสบการณ์ของ "เพื่อนร่วมงานในการประชุมเชิงปฏิบัติการ"

ต่อไปคุณต้องเข้าใจว่าการจัดตารางเวลาโดยตรงเป็นงานที่ผู้คนกำลังเผชิญปัญหาและแย่มากโดยเฉพาะในการพัฒนา เมื่อประเมินช่วงเวลาของการส่งมอบการปฏิบัติที่ดีการแนะนำของ "สัมประสิทธิ์การแก้ไข" ถือว่าเป็นการประเมินเบื้องต้น ตัวชี้วัดนี้อาจแตกต่างกันไปในช่วงจาก 1.5 ถึง 3 ขึ้นอยู่กับประสบการณ์ของนักพัฒนาและการรวมกันของระดับความไม่แน่นอนของงาน Decishes ภายในโครงการ

ปรับปรุงการปรับลดรุ่น

เมื่อพิจารณาถึงกำหนดเวลาเป็นสิ่งสำคัญที่ต้องคำนึงถึงปัจจัยหลายประการ

ตัวอย่างเช่นประสบการณ์ เห็นได้ชัดว่าคุณจินตนาการถึงปริมาณการทำงานที่กำลังจะมาถึงอย่างไร คุณเคยทำอะไรแบบนั้นมาก่อนหรือไม่? เป็นที่ชัดเจนว่ายิ่งมีประสบการณ์มากขึ้นการทำงานเร็วขึ้นเท่านั้น

บทบาทที่สำคัญในการกำหนดกำหนดเวลาจะเล่นโดยงานด้านเทคนิคที่รวบรวมได้อย่างมีประสิทธิภาพ สิ่งนี้แน่นมากในสาขาธุรกิจของเรา บ่อยครั้งที่ลูกค้าเองไม่ทราบว่าเขาต้องการอะไรดังนั้นฉันแนะนำให้คุณใช้วันพิเศษหรือสองวัน แต่เพื่อให้ได้ความคิดที่ชัดเจนเกี่ยวกับผลลัพธ์ที่ต้องการ เป็นสิ่งสำคัญที่การเป็นตัวแทนนี้มีร่วมกัน และหลังจากนั้นคุณสามารถเริ่มกำหนดจำนวนเงินและเวลา

ยังวางความเสี่ยงเสมอ ฉันขอแนะนำให้กำหนดเวลาโดยประมาณเป็นเวลาสองครั้ง ท้ายที่สุดแล้วมันจะดีกว่าที่จะผ่านโครงการก่อนกำหนดเวลาและเติบโตเป็นผู้เชี่ยวชาญในสายตาของลูกค้ามากกว่ายอมแพ้ในภายหลังและทำลายชื่อเสียงของคุณ

ปรับปรุงการปรับลดรุ่น

คำแนะนำทั่วไป - นักพัฒนาต้องเรียนรู้วิธีการย่อยสลายภารกิจค้นหาข้อผิดพลาดที่เป็นไปได้เสมอพึ่งพาประสบการณ์ของคุณเองและอย่าลืมเตือนลูกค้าและเพื่อนร่วมงานในเวลาหากงานไม่ได้รับในเวลาชื่อ

ลดแผนชัดเจนยากกว่าการกำหนดกำหนดเวลาสำหรับการดำเนินการของงานแยกต่างหาก ในเวลาเดียวกันมันเป็นสิ่งสำคัญไม่เพียง แต่จะมอบให้กับโครงการตรงเวลา แต่ยังทำให้ระบบที่คุณพัฒนาอย่างถูกต้องแก้ไขงานธุรกิจ ที่นี่ทีมงานช่วยวิธีการพัฒนาซอฟต์แวร์ต่าง ๆ : จาก Rup และ MSF เพื่อ Scrum และรูปแบบว่องไวอื่น ๆ ตัวเลือกของเครื่องมือนั้นกว้างขวางมากและลูกค้าของเราหลายคนต้องการเข้าใจล่วงหน้าว่าเราจะทำงานกับพวกเขาในโครงการอย่างไรหลักการที่เราปฏิบัติตาม

ตามวิธีการที่ว่องไวในวันนี้จะใกล้เคียงกับทั้งธุรกิจและแม้กระทั่งในแต่ละโครงการไปยัง Gosseltor เนื่องจากหลักการของวิธีการนี้ช่วยให้คุณสามารถดำเนินโครงการได้อย่างรวดเร็วจัดการความคาดหวังของลูกค้าในแต่ละการทำซ้ำ ตัวอย่างเช่นในทีมว่องไวมีการอภิปรายที่ยาวนานกับลูกค้า ลืมหน้าเว็บที่มีรายละเอียดของรายละเอียดทางเทคนิคที่ไม่จำเป็นเช่นอัตราการปรากฏตัวของรายการแบบหล่นลง ให้โอกาสแก่ลูกค้าลองใช้ระบบรุ่นกลางจากนั้นเข้าใจซึ่งกันและกันคุณจะง่ายขึ้นมาก

ทีม Agile วางแผนทุกอย่างร่วมกันและกำหนดระดับค่าแรงงานที่เหมาะสมที่จะต้องแก้ปัญหานี้หรืองานนั้น ตัวอย่างเช่นหนึ่งในช่างเทคนิคเรียกว่า "การวางแผนโปกเกอร์" ซึ่งผู้เข้าร่วมแต่ละคนแสดงให้เห็นถึงการประเมินต้นทุนแรงงานที่จำเป็นสำหรับงานที่เฉพาะเจาะจง หลังจากนั้นทีมจะกำหนดน้ำหนักเฉลี่ยของงานในจุดเรื่องราวหรือชั่วโมงและจัดจำหน่ายกรณีในหลักการของ "ใครชอบอะไร" ในเวลาเดียวกันทีมจะทำการชุมนุม 15 นาทีทุกวันเมื่อแต่ละในสองสามนาทีบอกเกี่ยวกับสถานะของงานปัจจุบันรวมถึงรายงานที่เกิดขึ้นกับความยากลำบาก ทีมค้นพบทีมกำจัดอย่างรวดเร็วดังนั้นลูกค้าให้ดูในขั้นตอนต่อไปของงานโปรแกรมเมอร์โดยเร็วที่สุด นักพัฒนาไม่ล่าช้ากับเวลาของงานเนื่องจากการลังเลอีกครั้งเพื่อดึงทีมหรือความพยายามที่ไร้ประโยชน์ที่จะคิดออกอย่างอิสระฆ่าเวลาอันมีค่า โดยวิธีการที่นักพัฒนาสถานะขนาดเล็กดังกล่าวนักพัฒนาจะมีความปรารถนาที่จะแสดงให้เห็นถึงด้านที่ดีที่สุดเพื่อแสดงว่าคุณมีความรับผิดชอบในการทำงาน นี่เป็นแรงจูงใจและมีวินัยในตนเอง

บทนำ

วัตถุประสงค์ของการประชุมเชิงปฏิบัติการในองค์กรการผลิตคือการขยายและลึกซึ้งยิ่งขึ้นความรู้เชิงทฤษฎีเพื่อปลูกฝังทักษะที่จำเป็นในการแก้ปัญหาที่พบบ่อยที่สุดในการฝึกการจัดระเบียบและวางแผนการผลิต

การประชุมเชิงปฏิบัติการรวมถึงภารกิจสำหรับส่วนหลักของหลักสูตร ที่จุดเริ่มต้นของแต่ละหัวข้อแนวทางสั้น ๆ และข้อมูลเชิงทฤษฎีงานทั่วไปที่มีโซลูชันและงานสำหรับโซลูชันอิสระจะถูกนำเสนอ

การปรากฏตัวของแนวทางและข้อมูลเชิงทฤษฎีสั้น ๆ ในแต่ละหัวข้อช่วยให้คุณสามารถใช้เวิร์กช็อปนี้ด้วยการสร้างการโต้ตอบ


การคำนวณระยะเวลาของวงจรการผลิต

ในฐานะที่เป็นตัวบ่งชี้ประสิทธิภาพของกระบวนการผลิตระยะเวลาของวงจรการผลิตจะให้บริการ

วงจรการผลิต - ช่วงเวลาของการเข้าพักรายการแรงงานในกระบวนการผลิตตั้งแต่เวลาที่เปิดตัววัตถุดิบและจนกว่าจะมีการเปิดตัวผลิตภัณฑ์สำเร็จรูป

วงจรการผลิตประกอบด้วย เวลาทำงาน ในช่วงที่ใช้งานทำงานและ หยุดพัก. แตกหักขึ้นอยู่กับสาเหตุของพวกเขาสามารถแบ่งได้:

1) บน เป็นธรรมชาติ หรือเทคโนโลยี - พวกเขาเป็นเพราะลักษณะของผลิตภัณฑ์;

2) เกี่ยวกับองค์กร (แบ่งระหว่างกะ)

ระยะเวลาของวงจรการผลิตประกอบด้วยส่วนประกอบต่อไปนี้:

t cycle \u003d. ต. เทค +. ต. กิน + ต. TR + ต. kk +. ต. ม. +. ต. M.TS

ที่ไหน ต. เหล่านั้น - เวลาของการดำเนินงานทางเทคโนโลยี;

t กิน -เวลาของกระบวนการตามธรรมชาติ (การอบแห้งเย็น ฯลฯ );

t tr -เวลาในการขนส่งสินค้าแรงงาน

t kk -เวลาการควบคุมคุณภาพ;

t m.o -เวลาของการทำลายระหว่างปฏิบัติการ

t m.ts -เวลาเดินเล่นบนคลังสินค้าสกัดกั้น;

(ต. สาม ต. kk คุณสามารถรวม S ต. m.o)

การคำนวณระยะเวลาของวงจรการผลิตขึ้นอยู่กับประเภทของการผลิต ในการผลิตจำนวนมากระยะเวลาของวงจรการผลิตจะถูกกำหนดโดยช่วงเวลาในการค้นหาผลิตภัณฑ์ในกระแส I.E.

t cycle \u003d. ต. ใน· m,

ที่ไหน ต. ใน - ปล่อยชั้นเชิง;

เอ็ม - จำนวนสถานที่ทำงาน

ภายใต้ การเปิดตัว Tacot ควรเข้าใจว่าเป็นช่วงเวลาระหว่างการเปิดตัวผลิตภัณฑ์ที่ผลิตหนึ่งผลิตภัณฑ์และผลิตภัณฑ์ต่อไปนี้

ประเด็นปัญหาถูกกำหนดโดยสูตร

t b \u003d t ef / b,

ที่ไหน t ef- งานที่มีประสิทธิภาพของเวลาทำงานสำหรับระยะเวลาโดยประมาณ (กะวันปี);

ใน - ปริมาณการผลิตในช่วงเวลาเดียวกัน (ในหน่วยธรรมชาติ)

ตัวอย่าง: T CM \u003d 8 ชั่วโมง \u003d 480 นาที; t ต่อ \u003d 30 นาที; → T EF \u003d 480 - - 30 \u003d 450 นาที

ใน \u003d 225 ชิ้น; → ต. B \u003d 450/225 \u003d 2 นาที

ในการผลิตจำนวนมากซึ่งการประมวลผลดำเนินการโดยฝ่ายต่างๆระยะเวลาของวงจรเทคโนโลยีจะไม่ได้กำหนดไม่ต่อหน่วยของผลิตภัณฑ์ แต่เป็นชุดทั้งหมด และขึ้นอยู่กับวิธีการเปิดตัวชุดในการผลิตเราได้รับระยะเวลารอบที่แตกต่างกัน มีสามวิธีในการย้ายผลิตภัณฑ์ในการผลิต: อนุกรมขนานและผสม (แบบต่อขนาน)


ผม.. สำหรับ ตามลำดับ การย้ายรายละเอียดการดำเนินงานแต่ละครั้งที่ตามมาจะเริ่มต้นหลังจากที่ปลายก่อนหน้านี้ ระยะเวลาของวงจรที่มีการเคลื่อนย้ายชิ้นส่วนที่สอดคล้องกันจะเท่ากับ:

ที่ไหน น. - จำนวนชิ้นส่วนของชิ้นงาน

t PCS ผม. - อัตราชิ้นส่วนต่อการดำเนินงาน

C I. - จำนวนงานใน ผม.การดำเนินงาน;

เอ็ม - จำนวนการดำเนินงานของกระบวนการเทคโนโลยี

Dana Batch ของผลิตภัณฑ์ประกอบด้วย 5 ชิ้น การต่อสู้ถูกส่งผ่านตามลำดับถึง 4 ปฏิบัติการ ระยะเวลาของการดำเนินการครั้งแรกคือ 10 นาทีที่สอง - 20 นาทีที่สาม - 10 นาทีที่สี่ - 30 นาที (รูปที่ 1)

รูปที่ 1

ต. cycle \u003d ต. Ambulance \u003d 5 · (10 + 20 + 10 + 30) \u003d 350 นาที

วิธีการเคลื่อนไหวที่สอดคล้องกันของชิ้นส่วนมีข้อได้เปรียบที่ช่วยให้มั่นใจถึงการทำงานของอุปกรณ์โดยไม่หยุดทำงาน แต่ข้อเสียของมันคือระยะเวลาของวงจรการผลิตในกรณีนี้เป็นสิ่งที่ยิ่งใหญ่ที่สุด นอกจากนี้ยังมีปริมาณสำรองที่สำคัญในงานซึ่งต้องใช้พื้นที่การผลิตเพิ่มเติม

ครั้งที่สอง. สำหรับ ขนาน การเคลื่อนไหวของบุคคลที่รายละเอียดแต่ละรายไม่ล่าช้าในงานและถูกส่งไปยังการดำเนินการต่อไปทันทีโดยไม่ต้องรอการประมวลผลของทั้งปาร์ตี้ทั้งหมด ดังนั้นด้วยการเคลื่อนไหวแบบขนานของส่วนต่าง ๆ ของชิ้นส่วนในแต่ละเวิร์กสเตชันการดำเนินการต่าง ๆ จะทำในเวลาเดียวกันกับส่วนต่าง ๆ ของแบทช์เดียวกัน

ระยะเวลาของการประมวลผลของพรรคที่มีการเคลื่อนไหวแบบขนานของผลิตภัณฑ์ลดลงอย่างรวดเร็ว:

ด่า .

ที่ไหน n n n - จำนวนชิ้นส่วนใน โอนปาร์ตี้ (พรรคขนส่ง), I.e. จำนวนของผลิตภัณฑ์ที่ส่งผ่านการดำเนินการหนึ่งไปยังอีก

สำหรับวงจรการดำเนินงานที่ยาวที่สุด

ด้วยการเริ่มต้นแบบขนานของชุดผลิตภัณฑ์การประมวลผลของบางส่วนของงานปาร์ตี้ทั้งหมดจะดำเนินการอย่างต่อเนื่องเฉพาะในสถานที่ทำงานที่มีการดำเนินการตามยาว ในกรณีที่มีการดำเนินการสั้น ๆ ตามมานาน I.e ยืดอายุมากขึ้น (ในตัวอย่างของเรา - การดำเนินการที่สาม) การดำเนินการของการดำเนินการเหล่านี้เป็นระยะ ๆ I.E. อุปกรณ์ที่ไม่ได้ใช้งาน ที่นี่ส่วนหนึ่งของชิ้นส่วนไม่สามารถประมวลผลได้ทันทีโดยไม่ชักช้าเนื่องจากสิ่งนี้ไม่อนุญาตให้ดำเนินการ (ยาว) ก่อนหน้านี้

ในตัวอย่างของเรา: น.= 5, ต. 1 = 10; ต. 2 = 20; ต. 3 = 10; ต. 4 = 30; จาก= 1.

ต. Par \u003d 1 · (10 + 20 + 10 + 30) + (5-1) · 30 \u003d 70 + 120 \u003d 190 นาที

พิจารณาแผนภาพการเคลื่อนไหวแบบขนานของชิ้นส่วน (รูปที่ 2):

รูปที่ 2

สาม. เพื่อกำจัดการหยุดพักในการประมวลผลส่วนต่าง ๆ ของพรรคในการดำเนินงานทั้งหมดใช้ อนุกรมแบบขนานหรือ ผสมวิธีการเปิดตัวที่ชิ้นส่วน (หลังจากดำเนินการแล้ว) จะถูกส่งไปยังการทำงานถัดไปของชิ้นส่วนหรือในรูปแบบของ "การขนส่ง" ใกล้ (หลายชิ้น) ด้วยการคำนวณดังกล่าวเพื่อให้การดำเนินการไม่ถูกขัดจังหวะในที่ทำงานใด ๆ ในวิธีผสมความต่อเนื่องของการรักษาจะถูกนำมาจากความสอดคล้องและจากแบบขนาน - การเปลี่ยนแปลงของชิ้นส่วนจากการดำเนินการไปยังการดำเนินการทันทีหลังจากการประมวลผล ด้วยวิธีผสมในการเปิดตัวในการผลิตระยะเวลาของวงจรจะถูกกำหนดโดยสูตร

มุม .

ที่อริ - วงจรการดำเนินงานที่สั้นที่สุด (จากการดำเนินการที่เกี่ยวข้องแต่ละคู่);

เอ็ม-1 จำนวนของการปฏิบัติตาม

หากการดำเนินการที่ตามมายาวนานกว่ารุ่นก่อนหน้าหรือเท่ากับเวลาการเปิดตัวการดำเนินการนี้จะทำทีละรายการทันทีหลังจากประมวลผลส่วนแรกในการดำเนินการก่อนหน้านี้ หากในทางกลับกันการดำเนินงานที่ตามมาจะสั้นกว่าก่อนหน้านี้ด้วยการส่งแบบท่อมีการหยุดพักที่นี่ เพื่อป้องกันพวกเขาคุณต้องสะสมปริมาณการขนส่งของปริมาณดังกล่าวซึ่งเพียงพอที่จะทำให้เกิดการทำงานในการดำเนินงานที่ตามมา หากต้องการค้นหาจุดนี้ในแผนภูมิคุณต้องถ่ายโอนส่วนสุดท้ายของพรรคและเลื่อนระดับการดำเนินการของมัน เวลาการประมวลผลของส่วนอื่น ๆ ทั้งหมดของพรรคถูกเลื่อนออกไปตามกำหนดเวลาไปทางซ้าย จุดเริ่มต้นของการประมวลผลส่วนแรกแสดงให้เห็นถึงช่วงเวลาที่การขนส่งหวังจากการดำเนินการก่อนหน้านี้จะต้องโอนไปยังการดำเนินการนี้

หากการดำเนินการที่อยู่ติดกันเหมือนกันตามระยะเวลาหนึ่งของพวกเขาเท่านั้นที่ได้รับการยอมรับในระยะสั้นหรือยาว (รูปที่ 3)

รูปที่ 3

ต. เอกอัครราชทูต \u003d 5 · (10 + 20 + 10 + 30) - (5-1) · (10 + 10 + 10) \u003d 350-120 \u003d 230 นาที

เส้นทางหลักของการลดระยะเวลาของวงจรการผลิตคือ:

1) การลดความจุของผลิตภัณฑ์การผลิตโดยการปรับปรุงความสามารถในการออกแบบของการออกแบบที่ผลิตขึ้นการใช้คอมพิวเตอร์การแนะนำของกระบวนการเทคโนโลยีขั้นสูง

2) องค์กรที่มีเหตุผลของกระบวนการแรงงานอุปกรณ์และการบำรุงรักษางานบนพื้นฐานของความเชี่ยวชาญและความร่วมมือเครื่องจักรกลกว้างและระบบอัตโนมัติของการผลิต

3) การลดการวางแผนที่วางแผนไว้และการวางแผนที่ไม่ได้วางแผนต่าง ๆ ในที่ทำงานบนพื้นฐานของการใช้เหตุผลของหลักการขององค์กรทางวิทยาศาสตร์ของกระบวนการผลิต

4) เร่งการไหลของปฏิกิริยาอันเป็นผลมาจากแรงกดดันอุณหภูมิการเปลี่ยนเป็นกระบวนการต่อเนื่อง ฯลฯ

5) การปรับปรุงกระบวนการของการขนส่งการจัดเก็บและการควบคุมและการรวมกันของพวกเขาในเวลาด้วยกระบวนการแปรรูปและการประกอบ

การลดระยะเวลาของวงจรการผลิตเป็นหนึ่งในปัญหาที่ร้ายแรงของการจัดระเบียบการผลิตเพราะ มันส่งผลกระทบต่อการหมุนเวียนของเงินทุนหมุนเวียนลดต้นทุนแรงงานลดคลังสินค้าข้อกำหนดการขนส่ง ฯลฯ

ภารกิจ

1 กำหนดระยะเวลาของวงจรการประมวลผลของ 50 ชิ้นส่วนที่มีการเคลื่อนไหวแบบต่อเนื่องขนานและแบบต่อขนานในกระบวนการผลิต กระบวนการของชิ้นส่วนการประมวลผลประกอบด้วยการดำเนินงานห้าครั้งระยะเวลาที่ตามลำดับ Min: ต. 1 =2; ต. 2 =3; ต. 3 =4; ต. 4 =1; ต. 5 \u003d 3 การดำเนินการที่สองจะดำเนินการบนเครื่องสองเครื่องและแต่ละคนอื่น ๆ ในที่เดียว ขนาดของพรรคโอนคือ 4 ชิ้น

2 กำหนดระยะเวลาของวงจรการประมวลผลของ 50 ส่วนที่มีการเคลื่อนไหวแบบต่อเนื่องขนานและแบบขนานของการเคลื่อนไหวในกระบวนการผลิต กระบวนการของชิ้นส่วนการประมวลผลประกอบด้วยการดำเนินงานสี่ครั้งระยะเวลาที่ตามลำดับ Min: ต. 1 =1; ต. 2 =4; ต. 3 =2; ต. 4 \u003d 6. การดำเนินการที่สี่จะดำเนินการในสองเครื่องและแต่ละคนในสิ่งหนึ่ง ขนาดของอัตราส่วนเกียร์คือ 5 ชิ้น

สามส่วนของชิ้นส่วน 200 ชิ้นถูกประมวลผลด้วยการเคลื่อนไหวตามลำดับแบบขนานในกระบวนการผลิต กระบวนการของชิ้นส่วนการประมวลผลประกอบด้วยการดำเนินงานหกครั้งซึ่งเป็นระยะเวลาหนึ่งตามลำดับขั้นต่ำ: ต. 1 =8; ต. 2 =3; ต. 3 =27; ต. 4 =6; ต. 5 =4; ต. 6 \u003d 20 การดำเนินการที่สามจะดำเนินการบนเครื่องสามเครื่องที่หกในสองและการดำเนินงานอื่น ๆ แต่ละเครื่องอยู่ในเครื่องเดียว กำหนดระยะเวลาของวงจรการประมวลผลพาร์ติชันของชิ้นส่วนจะเปลี่ยนไปอย่างไรหากการเคลื่อนไหวแบบต่อเนื่องของการเคลื่อนไหวในการผลิตจะถูกแทนที่แบบขนาน ขนาดของพรรคโอนคือ 20 ชิ้น

4 ส่วนของชิ้นส่วน 300 ชิ้นถูกประมวลผลด้วยการเคลื่อนไหวตามลำดับแบบขนานในกระบวนการผลิต กระบวนการประมวลผลประกอบด้วยการดำเนินงานเจ็ดครั้งระยะเวลาที่ตามลำดับ Min: ต. 1 =4; ต. 2 =5; ต. 3 =7; ต. 4 =3; ต. 5 =4; ต. 6 =5; ต. 7 \u003d 6 การดำเนินการแต่ละครั้งจะดำเนินการบนเครื่องหนึ่งเครื่อง โอนปาร์ตี้ - 30 ชิ้น อันเป็นผลมาจากการปรับปรุงเทคโนโลยีการผลิตระยะเวลาของการดำเนินการที่สามลดลง 3 นาทีที่เจ็ด - เป็นเวลา 2 นาที กำหนดว่าวงจรการประมวลผลพาร์ติชันของการเปลี่ยนแปลงชิ้นส่วนเปลี่ยนแปลงอย่างไร

5 วิลเล็ตสาขา DANA ประกอบด้วย 5 ชิ้น พรรคถูกส่งผ่านการดำเนินงาน 4 ครั้ง: ระยะเวลาของการเดินทางครั้งแรก - 10 นาทีที่สอง - 20 นาทีที่สาม - 10 นาทีที่สี่ - 30 นาที กำหนดระยะเวลาของวัฏจักรโดยวิธีการวิเคราะห์และกราฟิกด้วยการเคลื่อนไหวที่สอดคล้องกัน

6 Billets สาขา DANA ประกอบด้วยสี่ชิ้น พรรคถูกส่งผ่านการดำเนินงาน 4 ครั้ง: ระยะเวลาของการเดินทางครั้งแรก - 5 นาทีที่สอง - 10 นาทีที่สาม - 5 นาทีที่สี่ - 15 นาที กำหนดระยะเวลาของวัฏจักรโดยวิธีการวิเคราะห์และกราฟิกที่มีการเคลื่อนไหวแบบขนาน

7 Ballets สาขา DANA ประกอบด้วย 5 ชิ้น พรรคถูกส่งผ่านการดำเนินงาน 4 ครั้ง: ระยะเวลาของการเดินทางครั้งแรก - 10 นาทีที่สอง - 20 นาทีที่สาม - 10 นาทีที่สี่ - 30 นาที กำหนดระยะเวลาของวัฏจักรด้วยวิธีการวิเคราะห์และกราฟิกด้วยการเคลื่อนไหวแบบขนานตามลำดับ

8 กำหนดระยะเวลาของการประมวลผลการประมวลผล 180 ชิ้น มีการเคลื่อนไหวแบบขนานและสม่ำเสมอ สร้างกระบวนการประมวลผลกราฟิก ขนาดของปาร์ตี้การถ่ายโอนคือ 30 ชิ้น บรรทัดฐานเวลาและจำนวนงานเกี่ยวกับการดำเนินการดังต่อไปนี้

(เวลาจากการทำงานไม่ได้รับการสนับสนุนจนกว่าจะถึงช่วงเวลาแรกที่เริ่มแสดงทรัพยากร); ย่อเล็กสุด ความล่าช้า หรือ เวลาตอบสนอง (เวลาจากการทำงานจะเปิดใช้งานจนกว่าจะเสร็จสิ้นในกรณีของกิจกรรมเป็นระยะหรือในขณะที่ระบบไม่ตอบสนองต่อมือของผู้ใช้รายแรกในกรณีที่มีกิจกรรมแบบโต้ตอบ); หรือการเพิ่มสูงสุด ความยุติธรรม (เท่ากับปริมาณของเวลาโปรเซสเซอร์สำหรับแต่ละกระบวนการหรือในแผนทั่วไปของคะแนนเวลาที่สอดคล้องตามลำดับความสำคัญและภาระงานของแต่ละกระบวนการ) ในทางปฏิบัติเป้าหมายเหล่านี้มักจะขัดแย้ง (ตัวอย่างเช่นปริมาณงานเมื่อเทียบกับความล่าช้า) ดังนั้นผู้วางแผนจะใช้การประนีประนอมที่เหมาะสม การตั้งค่าวัดจากปัญหาใด ๆ ที่กล่าวถึงข้างต้นขึ้นอยู่กับความต้องการและงานของผู้ใช้

OS / 360 และผู้สืบทอด

AIX

ใน AIX เวอร์ชัน 4 มีค่าที่เป็นไปได้สามค่าสำหรับนโยบายการวางแผนการไหล:

  • ครั้งแรกที่ครั้งแรกออกมา: หลังจากที่เธรดที่มีนโยบายนี้มีกำหนดแล้วจะดำเนินการก่อนที่จะเสร็จสิ้นหากไม่ถูกบล็อกมันจะด้อยกว่าการควบคุมโปรเซสเซอร์หรือด้วยลำดับความสำคัญของเธรดที่สูงขึ้นการจัดส่งจะกลายเป็น เฉพาะกับสตรีมลำดับความสำคัญที่แน่นอนอาจมีนโยบายการจัดตารางเวลา FIFO
  • Round Robin: ดูเหมือนว่า Schemeer Schemeer Schemeer Cyclic AIX รุ่น AIX รุ่น AIX รุ่น 10 MS Slice เมื่อสตรีม PP มีการควบคุมในตอนท้ายของช่วงเวลามันจะย้ายไปที่หางของเธรดที่มีลำดับความสำคัญเดียวกัน เฉพาะกับสตรีมลำดับความสำคัญที่แน่นอนอาจมีนโยบายการวางแผน ROPIN ROBIN
  • อื่น ๆ : นโยบายนี้ถูกกำหนดโดย POSIX1003.4A ในการดำเนินการ ใน AIX เวอร์ชัน 4 นโยบายนี้ถูกกำหนดให้เทียบเท่ากับ RR ยกเว้นว่ามันหมายถึงเธรดที่มีลำดับความสำคัญแบบไม่คงที่ คำนวณค่าของลำดับความสำคัญของกระแสการทำงานในแต่ละการขัดจังหวะหมายความว่าเธรดสามารถสูญเสียการควบคุมเนื่องจากค่าลำดับความสำคัญสูงกว่าเธรดอื่นเพิ่มขึ้น นี่คือพฤติกรรมของ AIX เวอร์ชัน 3

หัวข้อส่วนใหญ่เป็นที่สนใจสำหรับแอปพลิเคชันที่ประกอบด้วยกระบวนการแบบอะซิงโครนัสหลายกระบวนการ แอปพลิเคชันเหล่านี้สามารถกำหนดภาระเพียงเล็กน้อยในระบบหากแปลงเป็นโครงสร้างแบบมัลติเธรด

ทั้งหมดตามที่อธิบายไว้ในหลายส่วนก่อนหน้านี้มุ่งเน้นไปที่การดำเนินการวิจัยเพิ่มเติมเกี่ยวกับปัญหาของกระบวนการของเวลาของตัวเองและน้อยกว่าการใช้งานจริง การไหลของช่องว่างนี้ให้ออกหนึ่งวิธีในการคำนวณเวลาของคุณในกระบวนการบนพื้นฐานของข้อมูลทางสถิติเกี่ยวกับวิวัฒนาการของมัน

พิจารณากระบวนการหนึ่งมิติที่มีสภาพอยู่ที่ตัวแปร x จริง สมมติว่าการสังเกตของการเปลี่ยนแปลงของกระบวนการดำเนินการในเวลาดาราศาสตร์ t ดังนั้น t \u003d t k และ x \u003d x k, k \u003d 1, ... , p - ช่วงเวลาการสังเกตคงที่และค่าที่สอดคล้องกันของสถานะรัฐ มีวิธีการทางคณิตศาสตร์ที่แตกต่างกันมากมายในการสร้างเส้นโค้งดังกล่าวที่ผ่านจุด (t k, xk) หรือ "o6paz" ที่ดีที่สุดเข้าหาพวกเขา ฟังก์ชั่น x \u003d x (t) ที่ได้รับในเวลาเดียวกันก่อให้เกิดในจิตสำนึกของเราความประทับใจที่กระบวนการในคำถามขึ้นอยู่กับการเคลื่อนไหวเชิงกลของร่างกายท้องฟ้าและดังนั้นรัฐของมันจะแสดงออกผ่านเวลาทางดาราศาสตร์ ด้วยข้อสรุปนี้มันจะเป็นไปได้ที่จะคำนวณ; หากไม่มีปัญหาคงที่ในการพยายามทำนายการไหลของกระบวนการต่อไป สำหรับกระบวนการที่หลากหลายจำนวนมากที่ไม่มีความสัมพันธ์โดยตรงกับการเคลื่อนไหวเชิงกลของวัตถุท้องฟ้าที่ได้รับจากฟังก์ชั่น x \u003d x (t) การคาดการณ์เชิงทฤษฎีที่อยู่นอกเหนือการสังเกตช่วงเวลาการสังเกตเริ่มเบี่ยงเบนอย่างมีนัยสำคัญจากข้อมูลการทดลองที่ตามมาอย่างมีนัยสำคัญ เหตุผลของการแตกต่างของทฤษฎีและการทดลองมักจะพยายามอธิบายวิธีการประมวลผลที่ไม่สำเร็จอย่างไรก็ตามสิ่งมีชีวิตของคดีอาจไม่ได้อยู่ในนี้

กระบวนการใด ๆ ที่น่าสนใจสำหรับสหรัฐฯที่ดำเนินการในจักรวาล แน่นอนว่าเขา "ให้ความรู้สึก" กับตัวเองผลกระทบของการเคลื่อนไหวของร่างกายสวรรค์ อย่างไรก็ตามผลกระทบนี้อาจ "ไม่ยึด" ความไม่แน่นอน โดยเฉพาะอย่างยิ่งนี้สามารถประจักษ์เองในความจริงที่ว่าในบางช่วงเวลาของการไหลของเวลาดาราศาสตร์สถานะของกระบวนการยังคงไม่เปลี่ยนแปลง เรียกคืนในการเชื่อมต่อกับสิ่งนี้ตัวอย่างที่นำเสนอก่อนหน้านี้พร้อมห้องว่างปิดแยกจากโลกภายนอก ปล่อยให้มีเพียงหนึ่งการใช้ชีวิตในสถานที่ ภายในไม่กี่วันการเปลี่ยนแปลงของระบบของระบบ "ห้อง - บิน" จะขึ้นอยู่กับการเคลื่อนไหวของแมลงวันเนื่องจากไม่มีการเปลี่ยนแปลงในสถานะของห้องไม่จำเป็นต้องคาดหวัง ในเวลาเดียวกันมันเป็นเรื่องยากที่จะจินตนาการว่าพฤติกรรมของแมลงวันเชื่อมต่ออย่างเข้มงวดกับเส้นทางของเวลาทางดาราศาสตร์

ด้วยการถอยแบบยาวเช่นนี้ให้ไปที่คำอธิบายของอัลกอริทึมเพื่อนับเวลากระบวนการของคุณเอง

ในอัลกอริทึมนี้หน่วยของการคำนวณ Maxima ท้องถิ่นจะถูกเลือกเป็นมาตรการตามธรรมชาติของเวลา นอกจากนี้ส่วนที่เป็นไปได้ของสถานะคงที่ของกระบวนการจะถูกนำมาพิจารณาซึ่งตามที่ระบุไว้ก่อนหน้านี้มันหยุดเวลาของเขาเอง เนื่องจากข้อมูลประจำตัวของสองรัฐสามารถพิจารณาได้ในข้อ จำกัด ของความแม่นยำในการวัดดังนั้นหมายเลขบวกบางอย่างคือข้อผิดพลาดในการวัดที่อนุญาต

ดังนั้นข้อมูลอินพุตสำหรับอัลกอริทึมคือหมายเลขธรรมชาติ P, หมายเลขบวก 8, อาร์เรย์ (tk) และ (xk), k \u003d 1, ... , p เพื่อความสะดวกในการเขียนโปรแกรมอัลกอริทึมจะแสดงเป็นสี่อย่างต่อเนื่อง ดำเนินการโมดูล

โมดูล 1,การใช้ข้อมูล P, E, TK), (XK), สร้างในเคสทั่วไปใหม่อาร์เรย์ 7 \u003d (7+ x \u003d (xt) และอาร์เรย์ที่เฉพาะเจาะจงที่เฉพาะเจาะจง p \u003d (?) ที่ 1 \u003d 1 .. . t, \u200b\u200bและ t<Сп. Основное назначение этого модуля -- выявление в массиве x k) последовательностей идентичных состояний процесса, сохранение первых элементов в таких последовательностях и удаление всех остальных и, наконец, уменьшение по определенному, правилу исходного интервала наблюдения от t до на сумму тех промежутков времени, в которых процесс протекает стационарно.

โมดูล 1 มีขั้นตอนต่อไปนี้:

p: \u003d 1, T: \u003d 0, k: \u003d 1

ใน p.p. 1, 2 ได้รับการแนะนำเคาน์เตอร์ที่มีค่าเริ่มต้นเฉพาะ:

ใน p.p. 3, 4 การเพิ่มขึ้นของค่าของเมตรต่อ 1 เกิดขึ้น

ตรวจสอบเงื่อนไข k ^ n หากดำเนินการแล้วไปที่ข้อ 6 มิฉะนั้นจะเป็นวรรค 11

ตรวจสอบความไม่เท่าเทียม x k --x k \u003d e หากมันเกิดขึ้นจากนั้นไปที่ข้อ 7 มิฉะนั้นจะเป็นวรรค 9

7. TII \u003d TI - (TKL - TK), I \u003d K1, ... , P.

ขั้นตอนนี้หมายความว่าหากค่า XK และ XK 1 นั้นแยกไม่ออกภายในข้อผิดพลาดทุกช่วงเวลาที่เริ่มต้นด้วย TK จะลดลงตามค่าของ TKI-TK

p \u003d r กลับไปที่หน้า 4

ทีวี \u003d t k; x v: \u003d x k; p \u003d p v \u003d v + l, i.e. การก่อตัวขององค์ประกอบของอาร์เรย์ T, X, P และการกำหนดค่าถัดไป V.

  • 10. ยอมรับ (T K, ... , T N และ (XK, X N) เป็นอาร์เรย์ต้นทางของมิติ P-K 1 + 1 จากนั้นกลับไปที่วรรค 2
  • 11. ตรวจสอบ M, (t), (x,) และ (p), (x,) และ (p,), ที่ฉัน \u003d l, ... , t จุดสิ้นสุด

ให้เราอธิบายความหมายขององค์ประกอบของอาร์เรย์ที่เกี่ยวข้อง R. จากข้อความก่อนหน้านี้เป็นไปตามค่าของ PK เท่ากับจำนวนองค์ประกอบของอาร์เรย์ (XK) ซึ่งตามมาโดยตรงตามด้วย x Pi + ... + +, น้อยกว่าใน e เรายังทราบว่า PI + ... + PM \u003d n

ตัวอย่างที่ 1 รับ: n \u003d 20, (/ *) \u003d (2, 4, 7, 10, 12, 13, 15, 17, 20, 22, 24, 25, 20, 25, 24, 25,

  • 27, 30, 32, 33, 34, 35, 36) และ (x,) \u003d (4, 4, 6, 6, 6, 3, 2, 4, 3, 3, 3, 2, 2, 4, 5 , ห้า,
  • 5, 4, 3) ดูรูปที่ 9, a.

อันเป็นผลมาจากการดำเนินการของโมดูล 1, t \u003d 11 จะได้รับ

(g) \u003d (2, 3, 4, 6, 8, 11, 1-2, 15, 17, 18, 19); (x,) \u003d (4, 6, 3, 2, 4, 3, 2, 4,5,4,3)

และ (d.) \u003d (2, 4, 1, 1, 1,3, 2, 1,3, 1, 1) ดูรูปที่ 9, b.

โมดูล 2ข้อมูลอินพุตสำหรับมันเป็นตัวเลขธรรมชาติ T เช่นเดียวกับอาร์เรย์ (7+ (XL) \u003d 1, ... , t โมดูลนี้ในอาร์เรย์ (TJ ระบุช่วงเวลาของเวลา [TM A], 1 \u003d 1 m (ml

ตัวอย่างที่ 2 ค่า T, (TL) และ (x,] ถูกยืมมาจากตัวอย่างก่อนหน้านี้หลังจากดำเนินการโมดูล 2, ml \u003d 3, m2 \u003d 8, (sh,) \u003d (3, 8, 17) , (t *) \u003d (3, 4, 6, 8, 11, 12, 15, 17) ดูรูปที่ 9, b.

โมดูล 3ข้อมูลอินพุต ML, M2, (TM P), 1 \u003d 1, ... , ML, (G *), / 2 \u003d 1, ... , GP2

โมดูลนี้ออกแบบมาเพื่อสร้างอาร์เรย์ (t (-g) โดยสูตร

ที่ทีวี 6 [TMP, TMN + I]

ตัวแปร T เป็นเวลาของคุณเองที่สร้างขึ้นโดยการเปลี่ยน Variable X มาตรการที่แท้จริงของเขาคือจำนวนแคลคูลัสของ Maxima ในท้องถิ่น

ตัวอย่างที่ 3 ข้อมูลเริ่มต้นสำหรับ T 2) เช่นเดียวกับค่า ML, M2 ITM และในตัวอย่างที่ 2 .. หลังจากการคำนวณที่สอดคล้องกันมันคือ \u003d (0; 0.2; 0.6; 1; 1,33; 1,78; 2).

โมดูล 4สร้างการออกผลลัพธ์โดยการสร้างความสอดคล้องระหว่างค่าของ T และ Elements X จากอาร์เรย์ (XK)

ตัวอย่างที่ 4 ขึ้นอยู่กับตัวอย่างเหล่านี้ 2 และ 3 ผลลัพธ์ต่อไปนี้จะออกดูรูปที่ 9, ใน:

t: 0; 0.2; 0.6; หนึ่ง; 1.33; 1.44;

x: 6; 3; 2; สี่; 3t 0 2;

ดังนั้นอัลกอริทึมที่พิจารณาแล้วช่วยให้คุณพัฒนาแนวคิดของเวลาของเราเองในกระบวนการบนพื้นฐานของข้อมูลที่บันทึกไว้ในระดับดาราศาสตร์เกี่ยวกับการเปลี่ยนสถานะของกระบวนการ ค่อนข้างชัดเจนว่าเป็นไปได้ที่จะใช้อัลกอริทึมอื่น ๆ เช่นการคำนวณลำดับของระดับต่ำสุดในท้องถิ่นหรือลำดับผสมประกอบด้วย maxima ท้องถิ่นและ minima เมื่อประมวลผลข้อมูลการทดลองมีแนวโน้มที่จะได้สัมผัสกับตัวเลือกต่าง ๆ หากด้วยเหตุผลบางอย่างการทดลองเลือกที่หนึ่งในหนึ่งใน eigenvalues \u200b\u200bเฉพาะและอาร์เรย์ที่ได้รับ (T4 และ (XK) จากนั้นในขั้นต่อไปที่ควรใช้กับวิธีการทางคณิตศาสตร์ใด ๆ สำหรับการประมาณจุดทดลอง (T *, X) บางสายของกระบวนการ X \u003d X (t) การอนุมานบรรทัดนี้นอกเหนือจากช่วงเวลาเริ่มต้นมันสามารถออกการคาดการณ์สำหรับการไหลของกระบวนการต่อไป

เป็นที่น่าสนใจที่จะพูดถึงการทดสอบการคำนวณที่มีวัตถุประสงค์เพื่อประเมินโอกาสในการประยุกต์ใช้อัลกอริทึมที่เสนอ ในฐานะที่เป็นวัสดุทดลองข้อมูลเกี่ยวกับการไหลบ่าไปประจำปี VAKHSH (Tajikistan) เป็นเวลา 40 ปีก่อนหน้า ในช่วงเวลาเดียวกันข้อมูลถูกถ่ายในพลวัตของหมายเลขหมาป่า - ดัชนีกิจกรรมพลังงานแสงอาทิตย์ที่ใช้มากที่สุด หลังขึ้นอยู่กับการพัฒนาเวลาของกระบวนการของกระบวนการพลังงานแสงอาทิตย์ ถึงเวลาใหม่ข้อมูลเกี่ยวกับค่าใช้จ่ายของ P ถูกเปลี่ยน VAKHSH จากนั้นในช่วงเวลาของการสังเกตที่ออกการพึ่งพาการใช้น้ำในทางทฤษฎีในรูปแบบของการทำงานของเวลาของตัวเองของกิจกรรมพลังงานแสงอาทิตย์ คุณสมบัติลักษณะของกราฟที่ได้รับเกือบจะเป็นพฤติกรรมเป็นระยะของค่าใช้จ่ายสูงสุดและขั้นต่ำ อย่างไรก็ตามค่าของค่าใช้จ่ายไม่คงที่

แบ่งปันกับเพื่อน ๆ หรือบันทึกด้วยตัวคุณเอง:

กำลังโหลด ...