Tuesday, 7 August 2007

The Closed Bidding Period in CORS is NUS's Way to Save Costs

The Centralized Online Registration System, the first barrier that all NUS students have to jump over before any semester starts.

CORS! We meet again!
CORS! We meet again!

It comes with two bidding periods:

  1. The open period where you will be able to view the highest, lowest and the next minimum bid.

  2. The closed period where you will not be able to view any of the above except for the number of bidders. You will be able to view the status of the bids as of before the closing periods in one very long HTML table.

From the official site:

"The purpose of the close bidding is to discourage students from delaying their bids till the last moment, hoping to out-bid competitors"
"The purpose of the close bidding is to discourage students from delaying their bids till the last moment, hoping to out-bid competitors"

So, what is stopping a student from doing these?

  1. Place bids only during the closing period

  2. Place bids only during the last 5 minutes of the closing period to avoid updating the Number of Bidders

Basically, during the closing period, the bidder makes his best bid with the provided information at the end of the opening period. If all bidders follow the above 2 rules, the bidder has to make a maximum bid that he budgeted for the module.

Imagine everyone keeps quiet until the last 5 mins of the closed bidding period and then start submitting their bids.
Imagine everyone keeps quiet until the last 5 minutes of the closed bidding period and then start submitting their bids.

I believe that the actual reason for the closing period is to prevent the system from getting overloaded during the last few minutes of a round. I have heard rumours from the seniors that the system gets very slow during the old times where there were no closing periods.

And why not adopt these methods to fix the overload issue?

  1. Convert the system to PHP - a very efficient and fast programming language as compared to the slow and bulky Java that is being used now. Or some other efficient language. Probable reason: Too much resources needed.

  2. Employ Grid Computing for handling server load, especially during the end times. It *looks* like the CORS system is managed on ONE server. Probable reason: Too much resources needed.

That's the main point - they want to save costs and not invest in more hardware or progamming time. They could have balanced the load between more than one server and even make attempts to optimize the code by switching over to PHP.

Must save cost! Must solve problem!
Must save cost! Must solve problem! (Note: 3 images stolen from other sites)

So instead of doing the above, the CORS committee decided to save costs and switch to this luck-based closed bidding system.

Ebay anyone? Yahoo Auctions? Imagine if they did like what NUS did to save costs, implement a closed bidding period for popular auctions. The 2 same exact above strategies can be used.

Not to say that the CORS system sucks. It does its basic job brilliantly as long as the bidders don't exceed the number of vacancies. But this closing bidding period scheme... well, you get the idea.