Tool to simulate non-sequential disk I/O (simulate db file sequential read) in C POSIX


 
Thread Tools Search this Thread
Top Forums Programming Tool to simulate non-sequential disk I/O (simulate db file sequential read) in C POSIX
# 8  
Old 06-18-2011
Happy with it not being completely random, as long as it jumps around enough to not catch itself on the read advance routines when running on the SAN, and as simulation goes, the database would more than likely read specific files or parts of files more than others anyway.

Here comes my next exciting problem, a database will only read a certain amount of time, other bits are sorting, writing and whatever else the database gets up to. So I am thinking of adding how manny cycles there are between reads, because just doing random reads and nothing else is giving rather silly results. In its purest form I seem to be able to get 100% WaitI/O and read about 6-12 Kb/s, which is pretty impressive in its ow right.

And todays exiting question, anyone feel like guessing how many cycles in a million that a rather streamlined database spends reading disk dataSmilie
Anyone who guesses the right answer wins an icecream, collectable in Camden, London (U.K.)

/Ben
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sequential Reading from two file in a loop

Hello All, I have two files with me file1.txt and file2.txt file1.txt has: 333 222 111 file2.txt has ccc bbb aaa ccc is related to 333 only, bbb is related to 222 only and aaa is related to 111 only. I have to get the values from each of the file and pass them in the URL... (3 Replies)
Discussion started by: ankur328
3 Replies

2. Shell Programming and Scripting

Read directories sequential based on timestamp

Hi, I have a directory structure like below Directoryname create time d1 12:00 d2 12:05 d3 12:08 I want to read the directories based on timestamp.That is oldest directory must be read first and kick off certain process. ... (7 Replies)
Discussion started by: chetan.c
7 Replies

3. UNIX for Dummies Questions & Answers

Inserting a sequential number into a field on a flat file

I have a csv flatfile with a few million rows. I need to replace a field (field number is 85) in the file with a sequential number. As an example, let's assume there are only 4 fields in the file: A,A,,32 A,A,,27 A,B,,43 C,C,,354 If I wanted to amend the 3rd field in this way my... (2 Replies)
Discussion started by: BristolSmithy
2 Replies

4. Shell Programming and Scripting

sequential to line sequential

Hi I have a file sequential way i.e. written in contineous mode and the Record Seperator is AM from which the record is seperated .Now to process I have to make line sequential,and more over record length is not same it varies as per the input address, AM1234563 John Murray 24 Old streeet old... (5 Replies)
Discussion started by: vakharia Mahesh
5 Replies

5. Shell Programming and Scripting

Sequential comparison (one row with file and so on)

Dear linux experts, I'd like to ask for your support, I've read some posts in this forum about files comparison but haven't found what I'm looking for. I need to create a sequential script to compare row-by-row one file with 34 similar files but without success so far. This is what I get: ... (2 Replies)
Discussion started by: Gery
2 Replies

6. Shell Programming and Scripting

How to sca a sequential file and fetch some substring data from it

Hi, I have a task where i need to scan second column of seuential file and fetch first 3 digits of that column For e.g. FOLLOWING IS THE SAMPLE FOR MY SEQUENTIAL FILE AU_ID ACCT_NUM CRNCY_CDE THHSBC001 30045678 THB THHSBC001 10154267 THB THHSBC001 ... (2 Replies)
Discussion started by: manmeet
2 Replies

7. Shell Programming and Scripting

how to scan a sequential file to fetch some of the records?

Hi I am working on a script which needs to scan a sequential file and fetch the row where 2nd column = 'HUB' Can any one help me with this... Thanks (1 Reply)
Discussion started by: manmeet
1 Replies

8. Shell Programming and Scripting

Finding missing sequential file names

So, I've got a ton of files that I want to go through (ie something like 300,000), and they're all labeled sequentially. However I'm not 100% positive that they are all there. Is there any way of running through a sequence of numbers, checking if the file is in the folder, if not appending it... (2 Replies)
Discussion started by: Julolidine
2 Replies

9. Programming

Reading special characters while converting sequential file to line sequential

We have to convert a sequential file to a 80 char line sequential file (HP UX platform).The sequential file contains special characters. which after conversion of the file to line sequential are getting coverted into "new line" or "tab" and file is getting distorted. Is there any way to read these... (2 Replies)
Discussion started by: Rajeshsu
2 Replies

10. UNIX for Dummies Questions & Answers

inserting uniq sequential numbers at the start of the file

Hi Unix gurus, I have a file. I need to insert sequential number at the starting of the file. Fields are delimited by "|". I know the starting number. Example: File is as follows |123|4test|test |121|2test|test |x12|1test|test |vd123|5test|test starting number is : 120 ... (7 Replies)
Discussion started by: jingi1234
7 Replies
Login or Register to Ask a Question
space(2rheolef) 						    rheolef-6.1 						   space(2rheolef)

NAME
space -- piecewise polynomial finite element space DESCRIPTION
The space class contains some numbering for unknowns and blocked degrees of freedoms related to a given mesh and polynomial approximation. SYNOPSIS
space Q (omega, "P1"); space V (omega, "P2", "vector"); space T (omega, "P1d", "tensor"); PRODUCT
space X = T*V*Q; space Q2 = pow(Q,2); IMPLEMENTATION
template <class T> class space_basic<T,sequential> : public smart_pointer<space_rep<T,sequential> > { public: // typedefs: typedef space_rep<T,sequential> rep; typedef smart_pointer<rep> base; typedef typename rep::size_type size_type; typedef typename rep::valued_type valued_type; // allocators: space_basic (const geo_basic<T,sequential>& omega = (geo_basic<T,sequential>()), std::string approx = "", std::string valued = "scalar"); space_basic (const space_mult_list<T,sequential>& expr); space_basic (const space_constitution<T,sequential>& constit); // accessors: void block (std::string dom_name); void unblock(std::string dom_name); void block (const domain_indirect_basic<sequential>& dom); void unblock(const domain_indirect_basic<sequential>& dom); const distributor& ownership() const; const communicator& comm() const; size_type ndof() const; size_type dis_ndof() const; const geo_basic<T,sequential>& get_geo() const; const numbering<T,sequential>& get_numbering() const; size_type size() const; valued_type valued_tag() const; const std::string& valued() const; space_component<T,sequential> operator[] (size_type i_comp); space_component_const<T,sequential> operator[] (size_type i_comp) const; const space_constitution<T,sequential>& get_constitution() const; size_type degree() const; std::string get_approx() const; std::string stamp() const; void dis_idof (const geo_element& K, std::vector<size_type>& dis_idof) const; const distributor& iu_ownership() const; const distributor& ib_ownership() const; bool is_blocked (size_type idof) const; size_type iub (size_type idof) const; bool dis_is_blocked (size_type dis_idof) const; size_type dis_iub (size_type dis_idof) const; const distributor& ios_ownership() const; size_type idof2ios_dis_idof (size_type idof) const; size_type ios_idof2dis_idof (size_type ios_idof) const; const point_basic<T>& xdof (size_type idof) const; const array<point_basic<T>,sequential>& get_xdofs() const; template <class Function> T momentum (Function f, size_type idof) const; template <class Function> point_basic<T> vector_momentum (Function f, size_type idof) const; array<size_type, sequential> build_indirect_array ( const space_basic<T,sequential>& Wh, const std::string& dom_name) const; array<size_type, sequential> build_indirect_array ( const space_basic<T,sequential>& Wh, const geo_basic<T,sequential>& bgd_gamma) const; const std::set<size_type>& ext_iu_set() const { return base::data().ext_iu_set(); } const std::set<size_type>& ext_ib_set() const { return base::data().ext_ib_set(); } // comparator: bool operator== (const space_basic<T,sequential>& V2) const { return base::data().operator==(V2.data()); } bool operator!= (const space_basic<T,sequential>& V2) const { return ! operator== (V2); } friend bool are_compatible (const space_basic<T,sequential>& V1, const space_basic<T,sequential>& V2) { return are_compatible (V1.data(), V2.data()); } }; IMPLEMENTATION
template <class T> class space_basic<T,distributed> : public smart_pointer<space_rep<T,distributed> > { public: // typedefs: typedef space_rep<T,distributed> rep; typedef smart_pointer<rep> base; typedef typename rep::size_type size_type; typedef typename rep::valued_type valued_type; // allocators: space_basic (const geo_basic<T,distributed>& omega = (geo_basic<T,distributed>()), std::string approx = "", std::string valued = "scalar"); space_basic (const space_mult_list<T,distributed>&); space_basic (const space_constitution<T,distributed>& constit); // accessors: void block (std::string dom_name); void unblock(std::string dom_name); void block (const domain_indirect_basic<distributed>& dom); void unblock(const domain_indirect_basic<distributed>& dom); const distributor& ownership() const; const communicator& comm() const; size_type ndof() const; size_type dis_ndof() const; const geo_basic<T,distributed>& get_geo() const; const numbering<T,distributed>& get_numbering() const; size_type size() const; valued_type valued_tag() const; const std::string& valued() const; space_component<T,distributed> operator[] (size_type i_comp); space_component_const<T,distributed> operator[] (size_type i_comp) const; const space_constitution<T,distributed>& get_constitution() const; size_type degree() const; std::string get_approx() const; std::string stamp() const; void dis_idof (const geo_element& K, std::vector<size_type>& dis_idof) const; const distributor& iu_ownership() const; const distributor& ib_ownership() const; bool is_blocked (size_type idof) const; size_type iub (size_type idof) const; bool dis_is_blocked (size_type dis_idof) const; size_type dis_iub (size_type dis_idof) const; const distributor& ios_ownership() const; size_type idof2ios_dis_idof (size_type idof) const; size_type ios_idof2dis_idof (size_type ios_idof) const; const point_basic<T>& xdof (size_type idof) const; const array<point_basic<T>,distributed>& get_xdofs() const; template <class Function> T momentum (Function f, size_type idof) const; template <class Function> point_basic<T> vector_momentum (Function f, size_type idof) const; array<size_type, distributed> build_indirect_array ( const space_basic<T,distributed>& Wh, const std::string& dom_name) const; array<size_type, distributed> build_indirect_array ( const space_basic<T,distributed>& Wh, const geo_basic<T,distributed>& bgd_gamma) const; const std::set<size_type>& ext_iu_set() const { return base::data().ext_iu_set(); } const std::set<size_type>& ext_ib_set() const { return base::data().ext_ib_set(); } // comparator: bool operator== (const space_basic<T,distributed>& V2) const { return base::data().operator==(V2.data()); } bool operator!= (const space_basic<T,distributed>& V2) const { return ! operator== (V2); } friend bool are_compatible (const space_basic<T,distributed>& V1, const space_basic<T,distributed>& V2) { return are_compatible (V1.data(), V2.data()); } }; rheolef-6.1 rheolef-6.1 space(2rheolef)