Tuesday, January 28, 2020

MapReduce for Distributed Computing

MapReduce for Distributed Computing 1.) Introduction A distributed computing system can be defined as a collection of processors interconnected by a communication network such that each processor has its own local memory. The communication between any two or more processors of the system takes place by passing information over the communication network. It has its application in various fields like Hadoop and Map Reduce which we will be discussing further in details. Hadoop is becoming the technology of choice for enterprises that need to effectively collect, store and process large amounts of structured and complex data. The purpose of the thesis is to research about the possibility of using a MapReduce framework to implement Hadoop. Now all this is possible by the file system that is used by Hadoop and it is HDFS or Hadoop Distributed File System. HDFS is a distributed file system and capable to run on hardware. It is similar with existing distributed file systems and its main advantage over the other distributed File system is, it is designed to be deployed on low-cost hardware and highly fault-tolerant. HDFS provides extreme throughput access to applications having large data sets. Originally it was built as infrastructure support for the Apache Nutch web search engine. Applications that run using HDFS have extremely large data sets like few gigabytes to even terabytes in size. Thus, HDFS is designed to support very large sized files. It provides high data communication and can connect hundreds of nodes in a single cluster and supports tens of millions of files in a system at a time. Now we take all the above things mentioned above in details. We will be discussing various fields where Hadoop is being implemented like in storage facility of Facebook and twitter, HIVE, PIG etc. 2.) Serial vs. Parallel Programming In the early decades of computing, programs were serial or sequential, that is, a program consisted of a categorization of instructions, where each instruction executed sequential as name suggests. It ran from start to finish on a single processor. Parallel programming (grid computing) developed as a means of improving performance and efficiency. In a parallel program, the process is broken up into several parts, each of which will be executed concurrently. The instructions from each part run simultaneously on different CPUs. These CPUs can exist on a single machine, or they can be CPUs in a set of computers connected via a network. Not only are parallel programs faster, they can also be used to solve problems on large datasets using non-local resources. When you have a set of computers connected on a network, you have a vast pool of CPUs, and you often have the ability to read and write very large files (assuming a distributed file system is also in place). Parallelism is nothing but a strategy for performing complex and large tasks faster than traditional serial way. A large task can either be performed serially, one step following another, or can be decomposed into smaller tasks to be performed simultaneously using concurrent mechanism in parallel systems. Parallelism is done by: Breaking up the process into smaller processes Assigning the smaller processes to multiple processors to work on simultaneously Coordinating the processors Parallel problem solving can be seen in real life application too. Examples: automobile manufacturing plant; operating a large organization; building construction; 3.) History of clusters: Clustering is the use of cluster of computers, typically PCs or some workstations, storage devices, and interconnections, appears to outsider (user) as a single highly super system. Cluster computing can be used for high availability and load balancing. It can be used as a relatively low-cost form of parallel processing system for scientific and other related applications. Computer clustering technology put cluster of few systems together to provide better system reliability. Cluster server systems can connect a group of systems together in order to provide combined processing service for the clients in the cluster. Cluster operating systems distribute the tasks amongst the available systems. Clusters of systems or workstations can connect a group of systems together to share critically demanding and tough tasks. Theoretically, a cluster operating system can provide seamless optimization in every case. At the present time, cluster server and workstation systems are mostly used in High Availability applications and in scientific applications such as numerical computations. A cluster is a type of parallel or distributed system that: consists of a collection of interconnected whole computers and is used as single, unified computing resource. The whole computer in above definition can have one or more processors built into a single operating system image. Why a Cluster Lower cost: In all-purpose small sized systems profit from using proper technology. Both hardware and software costs tend to be expressively minor for minor systems. However one must study the entire cost of proprietorship of your computing environment while making a buying conclusion. Next subdivision facts to some issues which may counterbalance some of the gains of primary cost of acquirement of a cluster. . Vendor independence: Though it is usually suitable to use similar components through a number of servers in a cluster, it is worthy to retain a certain degree of vendor independence, especially if the cluster is being organized for long term usage. A Linux cluster created on mostly service hardware permits for much better vendor liberation than a large multi-processor scheme using a proprietary operating system. Scalability: In several environments the problem load is too large that it just cannot be processed on a specific system within the time limits of the organization. Clusters similarly provide a hassle-free path for increasing the computational means as the load rises over time. Most large systems scale to a assured number of processors and require a costly upgrade Reliability, Availability and Serviceability (RAS): A larger system is typically more vulnerable to failure than a smaller system. A major hardware or software component failure fetches the whole system down. Hence if a large single system is positioned as the computational resource, a module failure will bring down substantial computing power. In case of a cluster, a single module failure only affects a small part of the overall computational resources. A system in the cluster can be repaired without bringing rest of the cluster down. Also, additional computational resources can be added to a cluster while it is running the user assignment. Hence a cluster maintains steadiness of user operations in both of these cases. In similar type of situations a SMP system will require a complete shutdown and a restart. Adaptability: It is much easier to adapt the topology. The patterns of linking the compute nodes together, of a cluster to best suit the application requirements of a computer center. Vendors typically support much classified topologies of MPPs because of design, or sometimes testing, issues. Faster technology innovation: Clusters benefit from thousands of researchers all around the world, who typically work on smaller systems rather than luxurious high end systems. Limitations of Clusters It is noteworthy to reference certain shortcomings of using clusters as opposite to a single large system. These should be closely cautious while defining the best computational resource for the organization. System managers and programmers of the organization should intensely take part in estimating the following trade-offs. A cluster increases the number of individual components in a computer center. Every server in a cluster has its own sovereign network ports, power supplies, etc. The increased number of components and cables going across servers in a cluster partially counterbalances some of the RAS advantages stated above. It is easier to achieve a single system as opposed to numerous servers in a cluster. There are a lot more system services obtainable to manage computing means within a single system than those which can assistance manage a cluster. As clusters progressively find their way into profitable organizations, more cluster savvy tools will become accessible over time, which will bridge some of this gap. In order for a cluster to scale to make actual use of numerous CPUs, the workload needs to be properly well-adjusted on the cluster. Workload inequity is easier to handle in a shared memory environment, because switching tasks across processors doesnt involve too much data movement. On the other hand, on a cluster it tends to be very tough to move a by this time running task from one node to another. If the environment is such that workload balance cannot be controlled, a cluster may not provide good parallel proficiency. Programming patterns used on a cluster are typically diverse from those used on shared-memory systems. It is relatively easier to use parallelism in a shared-memory system, since the shared data is gladly available. On a cluster, as in an MPP system, either the programmer or the compiler has to explicitly transport data from one node to another. Before deploying a cluster as a key resource in your environment, you should make sure that your system administrators and programmers are comfortable in working in a cluster environment. Getting Started With Linux Cluster: Although clustering can be performed on various operating systems like Windows, Macintosh, Solaris etc. , Linux has its own advantages which are as follows:- Linux runs on a wide range of hardware Linux is exceptionally stable Linux source code is freely distributed. Linux is relatively virus free. Having a wide variety of tools and applications for free. Good environment for developing cluster infrastructure. Cluster Overview and Terminology A compute cluster comprises of a lot of different hardware and software modules with complex interfaces between various modules. In fig 1.3 we show a simplified concept of the key layers that form a cluster. Following sections give a brief overview of these layers. 4.) Parallel computing and Distributed Computing system Parallel computing It is the concurrent execution of some permutation of multiple instances of programmed instructions and data on multiple processors in order to achieve results faster. A parallel computing system is a system in which computer with more than one processor for parallel processing. In the past, each processor of a multiprocessing system every time came in its own processor packaging, but in recent times-introduced multicore processors contain multiple logical processors in a single package. There are many diverse kinds of parallel computers. They are well-known by the kind of interconnection among the processors (â€Å"processing elements or PEs) and memory. Distributed Computing System: There are two types of distributed Computing systems: Tightly coupled system: In these systems, there is a single system wide primary memory (address space) that is shared by all the processors. In these systems any communication between the processors usually takes place through the shared memory. In tightly coupled systems, the number of processors that can be usefully deployed is usually small and limited by the bandwidth of the shared memory. Tightly coupled systems are referred to as parallel processing systems Loosely coupled systems: In these systems, the processors do not share memory, and each processor has its own local memory. In these systems, all physical communication between the processors is done by passing messages across the network that interconnects the processors. In this type of System Processors are expandable and can have unlimited number of processor. Loosely coupled systems, are referred to as distributed computing systems. Various Models are used for building Distributed Computing System: 4.1) Minicomputer Model It is a simple extension of the centralized time-sharing system. A distributed computing system based on this classical consists of a few minicomputers or large supercomputers unified by a communication network. Each minicomputer usually has many user simultaneously logged on to it through several terminals linked to it with every user logged on to one exact minicomputer, with remote access to other minicomputers, The network permits a user to access remote resources that are available on same machine other than the one on to which the user is currently logged. The minicomputer model is used when resource sharing with remote users is anticipated. The initial ARPAnet is an example of a distributed computing system based on the minicomputer model. 4.2) Workstation Model Workstation model consists of several workstations unified by a communication network. The best example of a Workstation Model can be a company’s office or a university department which may have quite a few workstation scattered throughout a building or campus, with each workstation equipped with its individual disk and serving time which is specifically during the night, Notion of using workstation Model is that when certain workstations are idle (not being used), resulting in the waste of great amounts of CPU time the model connects all these workstations by a high-speed LAN so that futile workstations may be used to process jobs of users who are logged onto to other workstations and do not have adequate processing power at their own workstations to get their jobs handled efficiently. A user logs onto one of the workstations which is his â€Å"home† workstation and submits jobs for execution if the system does not have sufficient processing power for executing the processes of the submitted jobs resourcefully, it transfers one or more of the processes from the user’s workstation to some other workstation that is currently ideal and gets the process executed there, and finally the outcome of execution is given back to the user’s workstation deprived of the user being aware of it. The main Issue increases if a user logs onto a workstation that was idle until now and was being used to perform a process of another workstation .How the remote process is to be controlled at this time .To handle this type of problem we have three solutions: The first method is to allow the remote process share the resources of the workstation along with its own logged-on user’s processes. This method is easy to apply, but it setbacks the main idea of workstations helping as personal computers, because if remote processes are permitted to execute concurrently with the logged-on user’s own processes, the logged-on user does not get his or her fail-safe response. The second method is to kill the remote process. The main disadvantage of this technique is that all the processing done for the remote process gets lost and the file system may be left in an erratic state, making this method repellent. The third method is to migrating the remote process back to its home workstation, so that its execution can be continued there. This method is tough to implement because it involves the system to support preemptive process migration facility that is stopping the current process when a higher priority process comes into the execution. Thus we can say that the workstation model is a network of individual workstations, each with its own disk and a local file system. The Sprite system and experimental system developed at Zerox PARC are two examples of distributed computing systems, based on the workstation model. 4.3) Workstation-Server Model Workstation Server Model consists of a limited minicomputers and numerous workstations (both diskful and diskless workstations) but most of them are diskless connected by a high speed communication Network. A workstation with its own local disk is generally called a diskful workstation and a workstation without a local disk is named as diskless workstation. The file systems used by these workstations is either applied either by a diskful workstation or by a minicomputer armed with a disk for file storage. One or more of the minicomputers are used for applying the file system. Other minicomputer may be used for providing other types of service area, such as database service and print service. Thus, every minicomputer is used as a server machine to provide one or more types of services. Therefore in the workstation-server model, in addition to the workstations, there are dedicated machines (may be specialized workstations) for running server processes (called servers) for handling and providing access to shared resources. A user logs onto a workstation called his home workstation, Normal computation activities required by the user’s processes are performed at the user’s home workstation, but requirements for services provided by special servers such as a file server or a database server are sent to a server providing that type of service that performs the user’s requested activity and returns the result of request processing to the user’s workstation. Therefore, in this model, the user’s processes need not be migrated to the server machines for getting the work done by those machines. For better complete system performance, the local disk of diskful workstation is normally used for such purposes as storage of temporary file, storage of unshared files, storage of shared files that are rarely changed, paging activity in virtual-memory management, and caching of remotely accessed data. Workstation Server Model is better than Workstation Model in the following ways: It is much cheaper to use a few minicomputers equipped with large, fast disks than a large number of diskful workstations, with each workstation having a small, slow disk. Diskless workstations are also preferred to diskful workstations from a system maintenance point of view. Backup and hardware maintenance are easier to perform with a few large disks than with many small disks scattered all Furthermore, installing new releases of software (such as a file server with new functionalities) is easier when the software is to be installed on a few file server machines than on every workstations. In the workstation-server model, since all files are managed by the file servers, users have the flexibility to use any workstation and access the files in the same manner irrespective of which workstation the user is currently logged on .Whereas this is not true with the workstation model, in which each workstation has its local file system, because different mechanisms are needed to access local and remote files. Unlike the workstation model, this model does not need a process migration facility, which is difficult to implement. In this model, a client process or workstation sends a request to a server process or a mini computer for getting some service such as reading a block of a file. The server executes the request and sends back a reply to the client that contains the result of request processing. A user has guarantied response time because workstations are not used for executing remote process. However, the model does not utilize the processing capability of idle workstation. The V-System (Cheriton 1988) is an example of a distributed computing system that is based on the workstation-server model. 4.4) Processor-Pool Model In the process of pool model the processors are pooled together-to be shared by the users needed. The pool -or processors consist of a large number of micro-computers and minicomputers attached to the network. Each processor in the pool has its own memory to load and run a system program or an application program of the distributed-computing system. The processor-pool model is used for the purpose that most of the time a user does not need any computing power but once in a while he may need a very large amount of computing power for short time (e.g., when recompiling a program consisting of a large number of files after changing a basic shared declaration). In processor-pool model, the processors in the pool have no terminal attached directly to them, and users access the system from terminals that are attached to the network via special devices. These terminals are either small diskless workstations or graphic terminals. A special server called a run server manages and allocates the processors in the pool to different users on a demand basis. When a user submits a job for computation an appropriate number of Processors are temporarily assigned to his or her job by the run server. In this type of model we do not have a concept of home machine, in this when a user logs on he is logged on to the whole system by default. The processor-pool model allows better utilization of the available processing power of a distributed computing system as in this model the entire processing power of the system is available for use by the current logged-on users, whereas this is not true for the workstation-server model in which several workstations may be idle at a particular time but they cannot be used for processing the jobs of other users. Furthermore, the processor-pool model provides greater flexibility than the workstation-server model as the system’s services can be easily expanded without the need to install any more computers. The processors in the pool can be allocated to act as extra servers to carry any additional load arising from an increased user population or to provide new services. However, the processor-pool model is usually considered to be unsuitable for high-performance interactive application, program of a user is being executed and the terminal via which the user is interacting with the system. The workstation-server model is generally considered to be more suitable for such applications. Amoeba [Mullender et al. 1990]. Plan 9 [Pike et al. 1990], and the Cambridge Distributed Computing System [Needham and Herbert 1982] are examples of distributed computing systems based on the processor-pool model. 5) ISSUES IN DESIGNING A DISTRIBUTED OPERATING SYSTEM To design a distributed operating system is a more difficult task than designing a centralized operating system for several reasons. In the design of a centralized operating system, it is assumed that the operating system has access to complete and accurate information about the environment is which it is functioning. In a distributed system, the resources are physically separated, their is no common clock among the multiple processors as the delivery of messages is delayed, and not have up-to-date, consistent knowledge about the state of the various components of the underlying distributed system .And lack of up-to-date and consistent information makes many thing (such as management of resources and synchronization of cooperating activities) much harder in the design of a distributed operating system,. For example, it is hard to schedule the processors optimally if the operating system is not sure how many of them are up at the moment. Therefore a distributed operating system must be designed to provide all the advantages of a distributed system to its users. That is, the users should be able to view a distributed system as a virtual centralized system that is flexible, efficient, reliable, secure, and easy to use. To meet this challenge, designers of a distributed operating system must deal with several design issues. Some of the key design issues are: 5.1) Transparency The main goal of a distributed operating system is to make the existence of multiple computers invisible (transparent) and that is to provide each user the feeling that he is the only user working on the system. That is, distributed operating system must be designed in such a way that a collection of distinct machines connected by a communication subsystem appears to its users as a virtual unprocessed. Accesses Transparency: Access transparency typically refers to the situation where users should not need or be able to recognize whether a resource (hardware or software) is remote or local. This implies that the distributed operating system should allow users to access remote resource in the same ways as local resources. That is, the user should not be able to distinguish between local and remote resources, and it should be the responsibility of the distributed operating system to locate the resources and to arrange for servicing user requests in a user-transparent manner. Location Transparency: Location Transparency is achieved if the name of a resource is kept hidden and user mobility is there, that is: Name transparency: This refers to the fact that the name of a resource (hardware or software) should not reveal any hint as to the physical location of the resource. Furthermore, such resources, which are capable of being moved from one node to another in a distributed system (such as a file), must be allowed to move without having their names changed. Therefore, resource names must be unique system wide. User Mobility: this refers to the fact that no matter which machine a user is logged onto, he should be able to access a resource with the same name he should not require two different names to access the same resource from two different nodes of the system. In a distributed system that supports user mobility, users can freely log on to any machine in the system and access any resource without making any extra effort. Replication Transparency Replicas or copies of files and other resources are created by the system for the better performance and reliability of the data in case of any loss. These replicas are placed on the different nodes of the distributed System. Both, the existence of multiple copies of a replicated resource and the replication activity should be transparent to the users. Two important issues related to replication transparency are naming of replicas and replication control. It is the responsibility of the system to name the various copies of a resource and to map a user-supplied name of the resource to an appropriate replica of the resource. Furthermore, replication control decisions such as how many copies of resource should be created, where should each copy be placed, and when should a copy be created/deleted should be made entirely automatically by the system in a user -transparent manner. Failure Transparency Failure transparency deals with masking from the users partial failures in the system, Such as a communication link failure, a machine failure, or a storage device crash. A distributed operating system having failure transparency property will continue to function, perhaps in a degraded form, in the face of partial failures. For example suppose the file service of a distributed operating system is to be made failure transparent. This can be done by implementing it as a group of file servers that closely cooperate with each other to manage the files of the system and that function in such a manner that the users can utilize the file service even if only one of the file servers is up and working. In this case, the users cannot notice the failure of one or more file servers, except for slower performance of file access operations. Be implemented in this way for failure transparency. An attempt to design a completely failure-transparent distributed system will result in a very slow and highly expensive system due to the large amount of redundancy required for tolerating al l types of failures. Migration Transparency An object is migrated from one node to another for a better performance, reliability and great security. The aim of migration transparency is to ensure that the movement of the object is handled automatically by the system in a user-transparent manner. Three important issues in achieving this goal are as follows: Migration decisions such as which object is to be moved from where to where should be made automatically by the system. Migration of an object from one node to another should not require any change in its name. When the migrating object is a process, the interposes communication mechanism should ensure that a massage sent to the migrating process reaches it without the need for the sender process to resend it if the receiver process moves to another node before the massage is received. Concurrency Transparency In a distributed system multiple users uses the system concurrently. In such a situation, it is economical to share the system resource (hardware or software) among the concurrently executing user processes. However since the number of available resources in a computing system is restricted one user processes, must necessarily influence the action of other concurrently executing processes. For example, concurrent update to the file by two different processes should be prevented. Concurrency transparency means that each user has a feeling that he is the sole user of the system and other users do not exist in the system. For providing concurrency transparency, the recourse sharing mechanisms of the distributed operating system must have the following properties: An event-ordering property ensures that all access requests to various system resources are properly ordered to provide a consistent view to all users of the system. A mutual-exclusion property ensures that at any time at most one process accesses a shared resource, which must not be used simultaneously by multiple processes if program operation is to be correct. A no-starvation property ensures that if every process that is granted a resources which must not be used simultaneously by multiple processes, eventually releases it, every request for that restore is eventually granted. A no-deadlock property ensures that a situation will never occur in which competing process prevent their mutual progress ever though no single one requests more resources than available in the system. Performance Transparency The aim of performance transparency is never get

Sunday, January 19, 2020

Affirmative Action Essay -- Affirmative Action Essays

After the United States Congress passed the Civil Rights Act in 1964, it became apparent that certain business traditions, such as seniority status and aptitude tests, prevented total equality in employment. Then President, Lyndon B. Johnson, decided something needed to be done to remedy these flaws. On September 24, 1965, he issued Executive Order #11246 at Howard University that required federal contractors â€Å"to take Affirmative Action to ensure that applicants are employed . . . without regard to their race, creed, color, or national origin (Civil Rights).† With the signing of that order, and without knowing it, President Johnson created reverse discrimination.   Ã‚  Ã‚  Ã‚  Ã‚  Affirmative Action was created in an effort to help minorities leap the discriminative barriers that were ever so present when the bill was first enacted, in 1965. At this time, the country was in the wake of nationwide civil- rights demonstrations, and racial tension was at an all time high. Most of the corporate executive and managerial positions were occupied by White Males, who controlled the hiring and firing of employees. The U.S. government, in 1965, believed that these employers were discriminating against Minorities and believed that there was no better time than the present to bring about change. This action, that started with good intentions, would later lead to a different and more complex form of discrimination.   Ã‚  Ã‚  Ã‚  Ã‚  When the Civil Rights Law passed, Minorities, especially African- Americans, believed that they should receive retribution for the earlier years of discrimination they endured. The government responded by passing laws to aide them in attaining better employment as reprieve for the previous two hundred years of suffering their race endured at the hands of the White Man. To many people the passing of these laws was an effort in the right direction. Supporters of Affirmative Action asked, †why not let the government help them get better jobs?† After all, the White Man was responsible for their suffering. While this may all be true, there is another question to be asked. Are we truly responsible for the years of persecution that the African Americans and other Minorities were submitted to? I am not so sure.   Ã‚  Ã‚  Ã‚  Ã‚   It is true that past generations of White Men are p... ..., and other policies benefiting families with young children. Widely supported programs that promote the interests of both lower and middle class Americans that deliver benefits to Minorities and Whites on the basis of their economic status, and not their race or ethnicity, will do more to reduce Minority poverty than the current, narrowly based, poorly supported policies that single out Minority groups. However, if this, or another remedy is not taken sometime in the near future, and Affirmative Action continues to separate Minority groups from Whites, we can be sure to see racial tension reach points that our history has never seen. Works Cited â€Å"Affirmative Action at the University of California at Berkeley† Online. http://pwa.acusd.edu/~e_cook/ucb-95.html â€Å"Civil Rights† Compton's Interactive Encyclopedia. (1996). [Computer Program] SoftKey Multimedia International Corporation. United States. Commission on Civil Rights. Affirmative Action in the 1980's: Dismantling the Process of Discrimination. Washington: 1981. United States. Nebraska Advisory Committee to the U.S. Commission on Civil Rights. Private Sector Affirmative Action: Omaha. Washington: 1979.

Saturday, January 11, 2020

Crazy Eddie Essay

1) Red flags were the increase on short-term investment receivables why would an electronic company have short-term investments in the first place. Increase of prepaid inventory in 1987 should be alarm nearly double from 1986. The company gross profit margin was stable of around 13%-16% average there was no need to increase inventory prepaid. Also lack of accounts payable and account receivable was a sign every retail company should have bad debt expense or allowance for doubtful accounts as customers may commit fraud to purchase products. The inventory age of went from 80 in 1986 to 111 in 1987 yet cost of goods sold primarily consisted of inventory was average from 1984 to 1987 2) Several audit procedures could have been performed to attest Crazy Eddie wrong doing A) The falsifying inventory count sheet would be detected if the auditors randomly performed inventory count and compare it to the Crazy Eddie sheet and consulted with inventory experts of how companies can deceive auditors. B) Bogus email could been investigated by requesting back support documentation to support the memos and also if this was mentioned  during executive meetings by reviewing the executive board minutes. Also by contacting the vendor and reconciling their receivables to payables of Crazy Eddie. C) Transhipping sales would have been by reviewing account receivable process from start to finish. Review payment of the sale invoices and checking shipping department log of when transshipment was done and of course contact the buyer to authenticate the sale to place. D) Consignment of inventory is to also audit their inventory and compare it to Crazy Eddie log and review of the contra ct between both parties how they operate the consignment agreement 3) As auditors they analyze the industry they are in and even compare financial records of other companies in the same industry for regularities and irregularities. During the 80’s it was evident that the electronic industry was declining and ever changing leaving certain products to being obsolete. Transhipping made it difficult, as they were able and justify the reasoning for buying large number of products however auditors should be able to communicate with supervisors of the life shelf of products and be able to produce aging schedule for each product they sell. 4) Lowballing in the audit context is to charge a client cheap in order to offer other services at fair or premium costs. Other services perform by the same firm of the independent client does violate its independence as the firm footprint with the company gets bigger and creates conflict of interest as some can be audits of services they provided to the company violating external independence and objectively 5) Member of the audit team if a third of the sample size I requested cannot be find I would suspicious and question if the sale even took place. Also means that I will need to select more sales with that time period to see if more exceptions appear. Also I would receive their sales process and witness the process for deficiencies and evaluate other ways to detect red flags for example selecting sales from shipping department or warehouse department for possible red flags as well. 6) I believe its common for audit members to join clients team as management already know the value he brings and since Sarbanes Oxley and PCAOB does not prohibit the practice will continue on. That person is familiar with their accounting system therefore he will be more efficient that bringing a person new also the relationship with audit firm can be strengthen and less problematic having that person as an liaison during the audit period. The cons are the negative light and question the independence of the audit firm. The person may have extensive knowledge how to deceive and commit unethical transactions without his former employer knowing. Facts Eddie was born in 1947 into a large close Syrian family. and dropped out of high school at the age of 16 years old and peddled television in Brooklyn neighborhood. By 1969 Antar and one of his cousins have funds to open consumer electronic store called Crazy Eddie. Crazy Eddie was nickname given to Antar through his behavior towards customers, vendors, and subordinates. For example Antar would block the exit door even locking door until the individual agreed to buy something anything Antar distinctive trait was the inability to trust anyone outside his big family circle and mostly relatives hold company positions in all capacity. Crazy Eddie was know for marketing advertising antics in 1972 Antar hired radio personality know as Dr. Jerry as Crazy Eddie’s advertising spokesman. Discounting policy was the theme to the campaigns promising to refund the difference of the selling price and lower retail price with the 30 days of purchase. In the early 1980’s electron industry exploded lead to increasing growth to Crazy Eddie by 1987 the company product sales were the following Antar encourage to upsell the customer and to purchase extended warranty as the electronic was already insured by the manufacturer lead to high profit margin Crazy Eddie would purchase large amount of quantity and avoid large concessions expenses that allowed him ‘’transhipper ‘’ commonly known as secondary supplier to smaller stores in the New York City area . In1983 Crazy Eddie decided to go public to raise capital for expansion but  was delayed over year for the IPO as underwriter discovered several discrepancies of the company financial records and relatives role in the business key example his wife and mother received 6 figure salaries for little or no work. Recommended Antar to hire CFO with public company experience and hired his cousin Sam Antar as his CFO. The sale of stock was tremendous success and with the permission of the SEC issued 200,000 more stock. One way to sway financial analyst for positive reviews was to invite them to his store and show his salesman skills to close sales . One analyst wrote ‘’Crazy is a self disciplined competently organized firm with a sophisticated management and a well trained, dedicated staff’’ Based on the 1984-1987 financial statement and rave financial reviews investors from the IPO realized 1,000 percent increase In 1986 Antar resigned from the company but remained chairperson member but after a few weeks he completely withdrew from the company. By 1987 the end of the electronic bubble, increased local competition, diminished supplier leverage, and family issues most notably bitter divorce as a result family members picking sides were the indication of the Crazy Eddie downfall. Mismanagement of the company and poor financial reports plummeted the stock as regulatory officials started investigating. November 1987 the company was taken over by two individuals while performing due diligence they uncovered 65 million inventory storage Extensive investigating SEC alleged Antar was worried about company stock and ordered staff commit fraud by overstate/understate balance sheet items like overstate receivable by 2 million the following yellow understating payables by 9 million dollars. Overstated inventory with non-existent products Prepare bogus memos reports and entered in company accounting records Included consignment & goods to manufacturer as revenue Overstating transshipping inventory transactions Understating COSGS Peat Marwick was the Crazy Eddie accounting firm but the underwriters  suggested to hire bigger recognizable firm and comply to hire Main Hurdman that merged with Marwick was the independent auditor for modest ‘’lowball’’ fee while offering over non-auditing services to make up the difference. Hurdman charged Crazy Eddie 85 thousand for auditing service while charging millions to do their computer inventory systems. Questioning Hurdman independence and objectively as Crazy Eddie accountant were former Hurdman staff. Hurdman defense was Antar would properly stock year end inventory to hide any shortages and systematically conceal documentations of shortages and to junk their computer operated inventory system and return to manual system making difficult to determine actual ending inventory at time period the entire accounting department participating in the collusion to throw off auditors. In 1989 Crazy Eddie lost line of credit and filed for Chapter 11 bankruptcy Antar was arrested with 17 counts of financial fraud in 1993 and publicly admitted to defrauding investors by manipulating accounting records in May of 1996. Lawsuit was settled in 1993 in the amount of 42 million to various defendants including Peat Marwick Analysis Crazy Eddie problems started with the idea to increase its expand the heavily tied family business and decided to take the company public than have venture capitalist provide the capital instead. We can see why it went public electronic started becoming the norm and disposable income complimented the fast growing industry. Crazy Eddie had the advantage similar to Wal-Mart being able to purchase large quantities at a low rate and taking a step forward to being second supplier to small business. Crazy Eddie failed to acknowledge or wasn’t aware of the product cycle and wasn’t able to forecast of where the industry was headed nor did it know the life of technology it was buying would not outpace demand. Management at Crazy Eddie raised concerns regarding experience and education to make sound decisions to operating and financing structure the company needed also family had to be problem as some relatives received a salary just because they’re family. After going public the Antar realized financial ratios had to be sound and used his power to convince the public that his company was  growing despite the current trends. His power was used to commit fraud and deceive the public in order to maintain the stock price like Enron would do a decade later and had the support of the entire accounting finance decision as no one reported to the SEC of their wrong doing Recommendations Recommendations for Crazy Eddie are to have the right management in place from executives to senior positions. Individuals that understand the industry trends and operate as efficiently possible. Finance department needed not only strong accounting department but an even stronger internal audit department that can properly perform Sarbanes Oxley section 404, SAS 69, SAS 99, SAS 109, SAS 115 for internal control practitioners to identify, prioritize, evaluate, and test the controls in place to prevent fraud and other financial statement material errors. Internal audit needs to be candid with external auditors and share information that can benefit external auditors during the financial audit a lot of sensitive valuable information went rogue that could been used to detect operations inventory fraud. References Sarbanes Oxley Section 404 Internal Control Practitioners Statement on Auditing Standards 69 The Meaning of Present Fairly in Conformity With Generally Accepted Accounting Principles Statement on Auditing Standards 99 Consideration of Fraud in a Financial Statement Audit Statement on Auditing Standards 109 Understanding the Entity and Its Environment and Assessing the Risks of Material Misstatement Statement on Auditing Standards 115 Communicating Internal Control Related Matters Identified in an Audit